Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
障害にすてるところなし
Search
tomoya yokota
March 11, 2017
Technology
8
4k
障害にすてるところなし
tomoya yokota
March 11, 2017
Tweet
Share
More Decks by tomoya yokota
See All by tomoya yokota
レガシーソフトウェアを再現性高く置き換える手法 〜「射撃しつつ前進」を支える技術〜
yokotaso
0
34
レガシーSolrの Elasticseach移行 Cybozu Tech Meetup #14
yokotaso
0
410
introduction-to-modern-gc
yokotaso
10
3.1k
product-sutainability
yokotaso
0
320
the-art-of-develop-culture-at-cybozu
yokotaso
0
3.3k
Go-To-Java9
yokotaso
0
220
Other Decks in Technology
See All in Technology
robocopy の怖い話/scary-story-about-robocopy
emiki
0
450
多様なニーズに応える Movable Type ラインナップ 全紹介
masakah
0
120
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
250
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.3k
ソフトウェア開発プロジェクトでの品質管理への提案(温故知新)
yohwada
0
100
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
1.6k
From Live Coding to Vibe Coding with Firebase Studio
firebasethailand
1
420
相互運用可能な学修歴クレデンシャルに向けた標準技術と国際動向
fujie
0
200
AI によるドキュメント処理を加速するためのOCR 結果の永続化と再利用戦略
tomoaki25
0
350
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
130
Unson OS|48時間で「売れるか」を判定する AI 市場検証プラットフォーム
unson
0
170
帳票構造化タスクにおけるLLMファインチューニングの性能評価
yosukeyoshida
1
230
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
182
54k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Language of Interfaces
destraynor
158
25k
Fireside Chat
paigeccino
37
3.6k
Building an army of robots
kneath
306
45k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Transcript
োʹͯ͢Δͱ͜Ζͳ͠ αΠϘζגࣜձࣾ @yokotaso
We’re sorry for …
ӡ༻োͷ • ͝໎Λ͓͔͚ͨ͠Έͳ͞· ͝ΊΜͳ͍͞ • ࢹɾରࡦɾௐࠪɾվળΛʑੋվળ • վળ·ͩ·ͩಓ • αΠϘζΛӬ͘ΑΖ͓͘͠ئ͍͠·͢
ΫϥυͷنͱՔಇ • ͝ܖ͍͍͍ͨͩͯΔձ༷ࣾ 1ສ8ઍࣾ
ӡ༻ো
Boo!
ͦΜͳ͜ͱͳ͍
ŧŔŕŪGOOD
ࣦഊ͔ΒపఈతʹֶͿ োֶश 4
جૅࣝΛ͚ͭΔ
جૅతͳૉཆΛຏ͘ ίϯϐϡʔλͷجૅΛΖ͏
ੜ͖ͨσʔλ͕োʹ͋Δ • ϘτϧωοΫͲ͜ʁ • େنαʔϏεٕज़ೖΛ ࢀর͠ͳ͕Βௐࠪ͢ΔͱษڧʹͳΔ • ϝτϦΫεࢹπʔϧͰ؍͠Α͏ • جૅతͳࣝಎ͕
োௐࠪͷͨͼʹຏ͔ΕΔ
ࣝͱܦݧཌྷΛत͚ͯ͘ΕΔ • ະͷʹग़ձͬͨΒཱͪฦΔॴ • ͍͠΄Ͳղܾͷࢳޱʹ • ҰਓͰௐࠪΛਐΊΒΕΔΑ͏ʹͳͬͨ • ϝτϦΫε͔ΒݪҼΛ༧Ͱ͖ΔΑ͏ʹ
ίϯϐϡʔλʔͷେࣄͳࣄ ো͕ڭ͑ͯ͘Εͨ
ࣝΛਂ۷Γ͢Δ
ಈ࡞ݪཧΛਂ͘ཧղ͢Δ ো࠷ߴͷྑͰ͋Δ
MySQLͷΠϯσοΫε͕͑ͳ͍
খ͞ͳෆ۩߹վम͕ݪҼ • ॏෳআڈͷͨΊʹGROUP BY Λ҆қʹ͚ͭͨͷ͕ݪҼ • JOIN࣌ʹར༻ͨ͠ΠϯσοΫε͕GROUP BY ʹ࠶ར༻Ͱ͖ͳ͍ •
େྔͷϨίʔυʹରͯ͠filesort͕ͬͯྦ
ཧղͨͭ͠Γʹͳͬͯ·ͤΜ͔ • োͷͨͼʹجຊతͳಈ࡞ݪཧΛ֬ೝ • োௐࠪΛ௨ͯ͠ಈ࡞ݪཧͷཧղ͕ਂ·Δ • ಈ࡞ݪཧ͕ਂ͘ཧղͰ͖͍ͯͳ͍ؾ͖ͮ
ো࠷ߴͷྑͰ͋Δ
νʔϜͰڧ͘ͳΔ
ࣦഊΛΏΔ͢จԽ ࣦഊͷڞ༗ஏ͕ͩʹཱͭʂ
Seasar2 S2DAO Ҡߦࣦഊ
͝ΊΜͳ͍͞!͝ΊΜͳ͍͞! • SeasarͷEOLʹ͏Spring FrameworkҠߦ • Seasar S2DAO͔ΒHibernateͷҠߦࣦഊ • ύϑΥʔϚϯεྼԽɺOutOfMemoryError… •
શഊͰ͢ɻ͝໎Λ͓͔͚͠·ͨ͠
ࣦഊΛड͚ೖΕΔจԽ
PostmortemΛॻ͜͏ • Λ٬؍తʹཧ͢ΔͨΊʹ༗༻ • ࣦഊΛੳɾڞ༗ɾࢭ • AWS S3 େنো •
git lab ຊ൪σʔλআ
ࣦഊΛڞ༗Ͱ͖ΔจԽΛ࡞Δ • ࣦഊΛڞ༗ͯ͠܁Γฦ͞ͳ͍จԽΛ࡞Ζ͏ • ࣦഊʹ͍ͭͯޠΔਓͷଘࡏҙٛେ͖͍ • ࣦഊΛڞ༗ͯ͘͠ΕΔਓʹѹతײँ • ݠڏɾଚܟɾ৴པ(HRT) ΛԿ֬ೝ͠Α͏
• ݸਓͷࣦഊͰͳ͍ɺ৫ͷࣦഊͩ
None
ࣦഊޭͷதؒͰ͔͠ͳ͍
సΜͰͨͩͰى͖͕͋Βͳ͍ʂ • ࣦഊͷչ͕͠͞վળʹͭͳ͕Δ • S2Dao͔ΒHibernateͷҠߦࣦഊΛ׆͔ͯ͠ • JDBCTemplateΛར༻ͯ͠࠶ઃܭ • OSSͱͯ͠ެ։༧ఆ
ࣦഊͷڞ༗ஏ͕ͩʹཱͭʂ
Α͜͠·ͳੜ͖ํ
ͣͿͱ͘ੜ͖Δ ੜ͖͍ͯΔ͚ͩͰ·Δ͏͚
Java ṖͷύϑΥʔϚϯεྼԽ
ղܾ͠·ͨ͠ (๑•̀ŷ•́)و✧ • JIT Compiler͕ఀࢭ͢Δέʔε͕͋Δ • JVM͕JIT Compileͨ͠ίʔυΛࣺͯΔ • JIT
Compiler͕෮ؼͤͣɺ࠷దԽͷ͔͔Βͳ͍ Byte CodeΛJava͕࣮ߦ͠ଓ͚Δ • ύϑΥʔϚϯεྼԽΛى͜͢
ղܾͷࢳޱ • GCʹׂΓͯΔThread CPU͔Βܾ·Δ • GCʹׂΓͯΒΕͨThread CPUΛ100%ઐ༗͢Δ
ղܾͷࢳޱ • GCʹΑΔCPUར༻Λߟྀͯ͠༨༟͕͋Δ • Full GCൃੜ͍ͯ͠ͳ͍ • GCΛݪҼ͔Βഉআ • CPUෛՙ্͕͕ΔέʔεΛMLͰಡΈ͋͞Δ
ϒϩάʹެ։
None
͝Ѫಡ͋Γ͕ͱ͏͍͟͝·͢ʂ • ͜ͷهࣄ͚ͩͰ 1ສ5ઍPV • ࠷ऴతʹ 700ͯϒ͘Β͍ • OSS͓ੈʹͳΓͬͺͳ͠ •
ใެ։Ͱߩݙ͍ͨ͠ؾ࣋ͪ
ͣͿͱ͘ੜ͖ΔΑ͏ʹ • ໘ന͍ٕज़هࣄʹͳͬͨΒṶ͚ͷ • ໘ന͍ࣄ͋ͬͨΒ͍͍ͳ͕ϞνϕʔγϣϯʹมԽ • ࠶ىಈͰճආͭͭ͠ظؒɺো͕ൃੜ͍ͯͨ͠ • Θ͔Βͳ͍͍ͯ͘ɾಀ͍͍͛ͯ •
ੜ͖͍ͯΔ͚ͩͰ·Δ͏͚ͷਫ਼ਆ
ௐΔ͚ͩͰ·Δ͏͚ʂ
োֶशɺ͔ͲΓ·͔ͬ
োʹͯ͢Δͱ͜Ζͳ͠