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
23
レガシーSolrの Elasticseach移行 Cybozu Tech Meetup #14
yokotaso
0
400
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
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
110
【Oracle Cloud ウェビナー】インフラのプロフェッショナル集団KELが考えるOCIでのソリューション実現
oracle4engineer
PRO
1
100
United Airlines Customer Service– Call 1-833-341-3142 Now!
airhelp
0
170
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
3
9.6k
ABEMAの本番環境負荷試験への挑戦
mk2taiga
3
150
AWS認定を取る中で感じたこと
siromi
1
200
Delta airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
deltahelp
0
820
いつの間にか入れ替わってる!?新しいAWS Security Hubとは?
cmusudakeisuke
0
140
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
130
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
320
SEQUENCE object comparison - db tech showcase 2025 LT2
nori_shinoda
0
150
CDK Vibe Coding Fes
tomoki10
0
120
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.8k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Navigating Team Friction
lara
187
15k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Designing Experiences People Love
moore
142
24k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
690
Statistics for Hackers
jakevdp
799
220k
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͓ੈʹͳΓͬͺͳ͠ •
ใެ։Ͱߩݙ͍ͨ͠ؾ࣋ͪ
ͣͿͱ͘ੜ͖ΔΑ͏ʹ • ໘ന͍ٕज़هࣄʹͳͬͨΒṶ͚ͷ • ໘ന͍ࣄ͋ͬͨΒ͍͍ͳ͕ϞνϕʔγϣϯʹมԽ • ࠶ىಈͰճආͭͭ͠ظؒɺো͕ൃੜ͍ͯͨ͠ • Θ͔Βͳ͍͍ͯ͘ɾಀ͍͍͛ͯ •
ੜ͖͍ͯΔ͚ͩͰ·Δ͏͚ͷਫ਼ਆ
ௐΔ͚ͩͰ·Δ͏͚ʂ
োֶशɺ͔ͲΓ·͔ͬ
োʹͯ͢Δͱ͜Ζͳ͠