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
java-monitoring
Search
soudai sone
January 24, 2018
Technology
5
2.9k
java-monitoring
JJUG ナイトセミナーの登壇資料です。
https://jjug.doorkeeper.jp/events/69650
soudai sone
January 24, 2018
Tweet
Share
More Decks by soudai sone
See All by soudai sone
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
30
8.4k
仕事を前に進めるためのコツ - 判断と決断と共有 / Aim for the goal
soudai
84
36k
アプリケーションが 正しく動作するということ - 自動テスト編 / Automated Testing
soudai
15
3k
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
8
1.8k
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
119
110k
マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy
soudai
26
8.2k
キャッシュと向き合う、キャッシュと共に生きる / cache pattern
soudai
38
16k
RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag
soudai
30
18k
コミュニティと共に生きる - キャリアの螺旋 / live with community
soudai
8
5.9k
Other Decks in Technology
See All in Technology
いざ、BSC討伐の旅
nikinusu
2
780
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
複雑なState管理からの脱却
sansantech
PRO
1
140
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Scaling GitHub
holman
458
140k
4 Signs Your Business is Dying
shpigford
180
21k
The World Runs on Bad Software
bkeepers
PRO
65
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Visualization
eitanlees
145
15k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Statistics for Hackers
jakevdp
796
220k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building Adaptive Systems
keathley
38
2.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Transcript
WebαʔϏεͷ ϞχλϦϯάͷצॴ ++6(φΠτηϛφʔ
What is it? ϞχλϦϯάͯ͠·͔͢ʁ
What is it? WebαʔϏεੜ͖
What is it? WebαʔϏεੜ͖ ↓ ৗʹมԽ͍ͯ͠Δ
What is it? WebαʔϏε͍͠
What is it? WebαʔϏε͍͠ ↓ ৭ΜͳӨڹΛड͚ͳ͕ΒՔಇ͍ͯ͠Δ
What is it? WebαʔϏε͍͠ ↓ ৭ΜͳӨڹΛड͚ͳ͕ΒՔಇ͍ͯ͠Δ ΠϯλʔωοτɺΫϥΠΞϯτɺ ϓϩτίϧɺαʔόαΠυFUDʜ
What is it? ͔ͩΒͦ͜ϞχλϦϯά͕ඞཁ
What is it? ͔ͩΒͦ͜ϞχλϦϯά͕ඞཁ ↓ ࠓ͔Β࢝ΊΔօ͞Μ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ33ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿCustomer Reliability Engineering ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹɹ
ษڧձ୲ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ33ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿCustomer Reliability Engineering ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹɹ
ษڧձ୲ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
Mackerel
ͯͳؒΛ୳ͯ͠·͢ curl -sIL mackerel.io | grep engineer
ͯͳؒΛ୳ͯ͠·͢ curl -sIL mackerel.io | grep engineer ͜Εͩͱ$3&ग़ͯ͜ͳ͍ͷͰHSFQDSF͍ͯͩ͘͠͞ʂʂ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
WebαʔϏεΛݟΔ 8FCαʔϏεੜ͖
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ ࠷Θ͔Γ͍͢ྖҬ ϞχλϦϯά͢Δ͜ͱͰαʔϏεͷঢ়ଶΛΔ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ ࠷Θ͔Γ͍͢ྖҬ ϞχλϦϯά͢Δ͜ͱͰαʔϏεͷঢ়ଶΛΔ ϞχλϦϯάʹΑΔޮՌ͕ग़͍͢
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ ίϯτϩʔϧͰ͖Δ͕ҙਤ͠ͳ͍͜ͱଟ͍
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ ίϯτϩʔϧͰ͖Δ͕ҙਤ͠ͳ͍͜ͱଟ͍ ϞχλϦϯά͠ͳ͍ͱݪҼٻग़དྷͳ͍
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ զʑͰίϯτʔϧग़དྷͳ͍ྖҬ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ զʑͰίϯτʔϧग़དྷͳ͍ྖҬ ͔ͩΒͦ͜ϞχλϦϯά͕େࣄ
WebαʔϏεΛݟΔ αʔόαΠυ w 04 w ωοτϫʔΫ w ϛυϧΣΞ w ΞϓϦέʔγϣϯʜFUD
WebαʔϏεΛݟΔ ΫϥΠΞϯταΠυ w ϒϥβ w +BWB4DSJQU w ϓϩτίϧ w ωοτϫʔΫʜFUD
WebαʔϏεΛݟΔ Πϯλʔωοτ w ϨΠςϯγʔ w εϧʔϓοτ w ϨεϙϯεʜFUD
WebαʔϏεΛݟΔ ͦΕͧΕͷৼΔ͍ΛՄࢹԽ͢Δ
WebαʔϏεΛݟΔ
WebαʔϏεΛݟΔ 8FCαʔϏεੜ͖
WebαʔϏεΛݟΔ 8FCαʔϏεੜ͖ ˣ αʔϏεࣗମՄࢹԽ͢Δ
WebαʔϏεΛݟΔ αʔϏεͷՄࢹԽ w 17๚ w μϯϩʔυ w Ϣʔβͷར༻ྔ w Ϋϥυྉۚͷ՝ۚྔʜFUD
WebαʔϏεΛݟΔ αʔϏεͷมԽ γεςϜͷมԽͱ૬ؔ
WebαʔϏεΛݟΔ ͔ͩΒ8FCαʔϏεΛݟΔ
WebαʔϏεΛݟΔ ͔ͩΒ8FCαʔϏεΛݟΔ ˣ ͦͷͨΊʹৼΔ͍ΛՄࢹԽ͢Δ
WebαʔϏεΛݟΔ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
ϞχλϦϯάͷצॴ Γ͍ͨ͜ͱԿͳͷ͔ʁ
ϞχλϦϯάͷצॴ Γ͍ͨ͜ͱԿͳͷ͔ʁ ˣ αʔϏε͕ਖ਼͘͠ಈ͍͍ͯΔ͔
ϞχλϦϯάͷצॴ γεςϜͷϞχλϦϯά ϦιʔεΛਖ਼͑ͯ͘͠Δ͔
ϞχλϦϯάͷצॴ γεςϜͷϞχλϦϯά ϦιʔεΛਖ਼͑ͯ͘͠Δ͔ Ϧιʔε͕ෆͯ͠༨Βͯ͠ବ
ϞχλϦϯάͷצॴ ҙਤ͠ͳ͍ڍಈʹؾ͘
ϞχλϦϯάͷצॴ αʔϏεͷมԽͷػඍʹؾ͘
ϞχλϦϯάͷצॴ αʔϏεͷมԽͷػඍʹؾ͘ ˣ มԽͷ͕ࠩ͋Δ͔Βؾ͚Δ
ϞχλϦϯάͷצॴ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ શͯγεςϜ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩγεςϜͷՄࢹԽ w ࣮ߦCBUDIͷδϣϒ w Ωϡʔ w อଘ͞ΕͯΔը૾ w %/4/51ͷঢ়ଶ
ϞχλϦϯάͷצॴ αʔϏεͷঢ়ଶΛՄࢹԽ͢Δ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩαʔϏεͷՄࢹԽ w ϢʔβͷϓϨΠঢ়گ w Πϯετʔϧ͞Εͨ04 w Ϣʔβͷݕࡧϫʔυ w ਃ͠ࠐΈϘλϯͷΫϦοΫ
ϞχλϦϯάͷצॴ αʔϏεͷՄࢹԽͷ5JQT
ϞχλϦϯάͷצॴ 5XJUUFSͰ ʮ˓˓ॏ͍ʯ ͷසग़ྔΛϞχλϦϯά͢Δ
ϞχλϦϯάͷצॴ ͍߹ΘͤճΛՄࢹԽ
ϞχλϦϯάͷצॴ JTTVFλεΫͷΛՄࢹԽ
ϞχλϦϯάͷצॴ ࣗͷαʔϏεͷ֎ՄࢹԽ͢Δ
ϞχλϦϯάͷצॴ ՄࢹԽ͢Δ͜ͱͰৄࡉ͕ݟ͑ͯ͘Δ
ϞχλϦϯάͷצॴ ՄࢹԽ͢Δ͜ͱͰৄࡉ͕ݟ͑ͯ͘Δ ˣ վળͷαΠΫϧ͕ճΓग़͢
ϞχλϦϯάͷצॴ ୭ݟͳ͍άϥϑʹҙຯແ͍
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
ͬͯಘ͢ΔTips γεςϜϝτϦοΫͷݟํ
γεςϜϝτϦοΫͷݟํ
γεςϜϝτϦοΫͷݟํ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ w MPBEBWH w DQV w NFNPSZ w EJTL
w JOUFSGBDF w pMFTZTUFN
γεςϜϝτϦοΫͷݟํ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ w MPBEBWH w DQV w NFNPSZ w EJTL
w JOUFSGBDF w pMFTZTUFN
ϩʔυΞϕϨʔδ w ࣮ߦͪ ࣮ߦΩϡʔʹ͋Δ ϓϩηεͷ w σΟεΫͷ*0ͪͷϓϩηεͷ ˣ ߹ܭ
ϩʔυΞϕϨʔδ w ࣮ߦͪ ࣮ߦΩϡʔʹ͋Δ ϓϩηεͷ w σΟεΫͷ*0ͪͷϓϩηεͷ ˣ ߹ܭ ͭ·ΓϩʔυΞϕϨʔδ͕ߴ͚Ε
$16%JTL*0͕٧·͍ͬͯΔ͜ͱΛද͢
ϩʔυΞϕϨʔδ VQUJNF ɹVQ VTFS MPBEBWFSBHF
ϩʔυΞϕϨʔδ VQUJNF ɹVQ VTFS MPBEBWFSBHF
ϩʔυΞϕϨʔδ VQUJNF ɹVQ VTFS MPBEBWFSBHF
ϩʔυΞϕϨʔδ VQUJNF ɹVQ VTFS MPBEBWFSBHF 3
1 5 10
ϩʔυΞϕϨʔδ MPBEBWH্͕͕Δͱ γεςϜʹෛՙ͕͔͔͍ͬͯΔ
ϩʔυΞϕϨʔδ MPBEBWH্͕͕Δͱ γεςϜʹෛՙ͕͔͔͍ͬͯΔ ͔͠͠ଈোͱݶΒͳ͍
ϩʔυΞϕϨʔδ ॠؒతʹॲཧ͕ूதͯ͠ɺ ฏৗ࣌ͷෛՙʹ·Ͱ མͪண͘͜ͱ͕Ͱ͖Δ͔Ͳ͏͔
ϩʔυΞϕϨʔδ ʮ࣮ࡍʹࡹ͍͍ͯΔॲཧྔʢYʣʯ ʮࡹ͖͘ॲཧͷ૯ྔʢZʣʯ ͕YZʹͳ͍ͬͯͳ͍͔
ϩʔυΞϕϨʔδ
ϩʔυΞϕϨʔδ εύΠΫ͍ͯ͠Δ͕ ͙͢ʹऩଋ͍ͯ͠ΔͷͰແ͍
ϩʔυΞϕϨʔδ X < Y !
ϩʔυΞϕϨʔδ X < Y !
CPU DISC
γεςϜϝτϦοΫͷݟํ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ w MPBEBWH w DQV w NFNPSZ w EJTL
w JOUFSGBDF w pMFTZTUFN
CPU $16༻ͷׂ߹ΛΔ
CPU $16༻ͷׂ߹ΛΔ $16͕ͷ߹ʹ Ͳ͜Ͱ͍ͬͯΔ͔ΛΔ
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF ΧʔωϧҎ֎͕༻ͨ࣌ؒ͠ͷׂ߹
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF *0ͪʹΑΓΞΠυϧঢ়ଶͰ
͋ͬͨ࣌ؒͷׂ߹
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF Χʔωϧ͕༻ͨ࣌ؒ͠ͷׂ߹
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF *0͕ͪͳ͘ɺ͔ͭ$16͕
ΞΠυϧঢ়ଶͰ͋ͬͨ࣌ؒͷׂ߹
cpu.iowait͕ߴಅ͍ͯ͠Δ࣌ σΟεΫͷ*0ੑೳ͕ωοΫ
cpu.iowait͕ߴಅ͍ͯ͠Δ࣌ σΟεΫͷ*0ੑೳ͕ωοΫ %JTDͷϝτϦοΫͷ3FBEͱ8SJUFΛ֬ೝ
cpu.user͕ߴಅ͍ͯ͠Δ࣌ ΧʔωϧҎ֎ͷϓϩηε͕ݪҼ
cpu.user͕ߴಅ͍ͯ͠Δ࣌ ΧʔωϧҎ֎ͷϓϩηε͕ݪҼ ྫ͑ΞϓϦέʔγϣϯ
cpu.user͕ߴಅ͍ͯ͠Δ࣌ ΧʔωϧҎ֎ͷϓϩηε͕ݪҼ ྫ͑ΞϓϦέʔγϣϯ ΞϓϦͷվળΛߦ͏͔ɺ$16ͷεϖοΫΛ্͛Δ͜ͱͰ վળ͞ΕΔՄೳੑ͕͋Δ
ϞχλϦϯάͷצॴ 45 IUUQCMPHBLOPXNFFOUSZ
ΞϓϦέʔγϣϯΛΔ +BWBͷৼΔ͍ΛΔ
ΞϓϦέʔγϣϯΛΔ +BWBͷৼΔ͍ΛΔ ˣ +7.ΛϞχλϦϯά͢Δ
JVMͷϞχλϦϯά KTUBUΛ͏ IUUQTEPDTPSBDMFDPNKBWBTF EPDTUFDIOPUFTUPPMTTIBSFKTUBUIUNM
JVMͷϞχλϦϯά
JVMͷϞχλϦϯά KPMPLJBΛ͏ IUUQTKPMPLJBPSH
JVMͷϞχλϦϯά NFUSJDTΛ͏ IUUQNFUSJDTESPQXJ[BSEJP
JVMͷϞχλϦϯά .BDLFSFMͰ+BWBͷΞϓϦέʔγϣϯ ϞχλϦϯάΛ͢Δ IUUQTRJJUBDPNLBXBTJNBJUFNTCGECCCB
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
·ͱΊ ·ͣՄࢹԽΛ͢Δ
·ͱΊ ਪଌΑΓܭଌ
·ͱΊ ਪଌΑΓܭଌ ↓ ܭଌΑΓ؍ଌ
·ͱΊ ࣄ࣮ΛΑΓଟ͘ɺਖ਼͘͠Δ͜ͱͰ ະདྷΛਖ਼͘͠༧ଌͰ͖Δ
None
·ͱΊ ΤϯδχΞʹࠜڌ͕ඞཁ
·ͱΊ ΤϯδχΞʹࠜڌ͕ඞཁ ↓ ͳΜͱͳ͘Ͱࣄग़དྷͳ͍
·ͱΊ
·ͱΊ
·ͱΊ
·ͱΊ ςετίʔυϓϩάϥϜͷ࣭ͷՄࢹԽ ϞχλϦϯάαʔϏεͷ࣭ͷՄࢹԽ
·ͱΊ lࢹͱܧଓతͳςετͰ͋Δz ԞҰึ IUUQEFWFMPQFSDZCP[VDPKQBSDIJWFTLB[VIPDSPOMPHGIUNM
·ͱΊ lߴʹൃୡͨ͠γεςϜͷҟৗ ਆͷౖΓͱݟ͚͕͔ͭͳ͍z Z@VVLJ
·ͱΊ ମॏܭʹΔ͚ͩͰ૫ͤͳ͍
·ͱΊ ମॏܭʹΔ͚ͩͰ૫ͤͳ͍ ↓ ࣭ΛՄࢹԽ͚ͨͩ͠Ͱվળ͞Εͳ͍
·ͱΊ lखΛಈ͔ͨ͠ਓ͚͕ͩੈքΛม͑Δz :BTVIJSP0OJTIJ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ