Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
失敗LT祭! 〜俺の話を聞いてくれ〜 メモリだいじに! / 20190220_hedgehog...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
FORTE
February 20, 2019
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
失敗LT祭! 〜俺の話を聞いてくれ〜 メモリだいじに! / 20190220_hedgehogs_miss_lt
FORTE
February 20, 2019
More Decks by FORTE
See All by FORTE
入門!実践!サーバーサイドKotlin〜2026春改訂版〜サンプル/sski2_sample
fortegp05
0
190
サーバーサイドKotlinやってみた!/ssk_meetup_18_01
fortegp05
1
61
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
560
異夢同船〜異なる夢を持ちチームで作業する〜_サンプル/imudousen_sample
fortegp05
0
440
ラプラスの箱を開ける ~レトロゲームから学んだ工夫~/retro_games_any_03_01
fortegp05
1
110
ジモtechVol1_LT_フルリモート"され"力/jimotech_lt_1
fortegp05
0
88
超入門!サーバーサイドKotlin〜2026春更新版〜/sski1
fortegp05
0
620
MicronautでgRPCに入門!実践!サーバーサイドKotlin/sskm2_sample
fortegp05
0
130
アンチパターンから学ぶコミュニケーション/lcap_sample
fortegp05
0
240
Other Decks in Technology
See All in Technology
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
USB PDを使ってスマホを労わりたい
raspython3
0
180
大型犬好きによるPugの紹介
yamanoku
1
160
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
Getting Started with Google Antigravity
glaforge
0
300
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
Refining Active Record
shugo
0
150
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Rails Girls Zürich Keynote
gr2m
96
14k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Writing Fast Ruby
sferik
630
63k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.4k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
Transcript
失敗LT祭!〜俺の話を聞いてくれ〜 メモリだいじに! 2019/02/20 FORTE(@FORTEgp05)
自己紹介 FORTE (フォルテ) SIer → Web系 → スマホアプリ開発者。 2
今日話す内容 いのちメモリだいじに! Webシステム開発におけるメモリによる失敗話 3
メモリだいじに! ・SIer時代に新人でアサインされた案件。 2007年当時のお話。 ・業務向けのWebシステム開発に途中から参加。 ・イントラネットのみ公開のWebシステム。 200人ほどの部署向け。 4
システム構成概要 5 IE6 HTML JavaScript Java Servlet Apache Tomcat PostgreSQL
7.x
当時発生していたふたつの問題 6
当時の問題①データ取得が遅い 7 とある機能「機能A」でDBからデータ取得するのが遅い…。 原因はデータ量が多いため。 \ユックリ/
当時の問題②データ量が多すぎてIEが死ぬ 8 機能Aの検索条件によってはデータ量が多すぎてIE6が死ぬ。 (真っ白のままフリーズする) オオスギ
当時の問題 9 閃いた! DBが遅いなら、サーバーのメモリにデータを積めば 良いんじゃね!? 先輩
解決策 10 メモリ ServletContext.setAttribute()
解決策 11 取得が遅いデータは あらかじめメモリに積んでおく
解決策 12 DBから取得しないので早い! \ハヤーイ/
やったー!解決した! 13
やったー!解決した!んなわきゃない 14
失敗… 15 ・DBが遅いのはまずDBでチューニングすべき 当時は技術力不足で無理だった…。
失敗… 16 ・DBが遅いのはDBでチューニングすべき 当時は技術力不足で無理だった…。 ・メモリに対する影響を軽視しすぎ
失敗… 17 ・DBが遅いのはDBでチューニングすべき 当時は技術力不足で無理だった…。 ・メモリに対する影響を軽視しすぎ 4GBのサーバーに500MBほど保存していた…。 \メモリ4GB/
失敗… 18 ・IEが死ぬ問題は解決できてない ことあるごとにお客さんに怒られてました…
さらなる失敗 19
さらなる失敗 20 機能Aと同じような仕様の機能が3つ増えた。
さらなる失敗 21 機能Aと同じような仕様なので、 何も考えずに機能Aと同じような実装をした。
さらなる失敗 22
さらなる失敗 23
さらなる失敗 24
さらなる失敗 25 メモリ4GBのサーバーに、 500MB×4機能分の2GBのデータが常駐。
さらなる失敗 26 アクセス負荷でよくサーバーが応答不能に… メモリナイ
当時の問題②データ量が多すぎてIEが死ぬ 27 機能Aの検索条件によってはデータ量が多すぎてIE6が死ぬ。 (真っ白のままフリーズする) 最初の問題2つ目も解決してない オオスギ
お客さん「おれは怒ったぞー!!!!」 28
根本対策 29 機能Aに関しては全く新しい仕組みで実装し直した。 フロント、バック、DB、バッチ処理全てを一新。 これを半年で実施。
根本対策 30 機能Aに関しては全く新しい仕組みで実装し直した。 フロント、バック、DB、バッチ処理全てを一新。 これを半年で実施。 \デスマーチ/
失敗からの教訓 ・問題解決のためではなくユーザーのため 安易な手段に飛びつく前にちゃんと考える ・仮対策なら本対策するまで追い続ける ・メモリと性能は要注意 最近は技術の進歩でそこまででもないが、 少なくて早いに越したことはない 31
宣伝 Twitter:@FORTEgp05 Podcast:『aozora.fm』 お便り募集中! 技術書典6:「はじめる技術 つづける技術」を頒布予定! サークル「おからぼ」さんにて委託。 詳しくは#はじめる技術つづける技術にて! 32
おわり