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
phper-monitoring
Search
soudai sone
March 10, 2018
Technology
6
8.4k
phper-monitoring
PHPerKaigi2018の登壇資料です。
https://phperkaigi.jp/2018/proposal/b4aba719-f98e-4f92-9cc2-3b682540fbfd
soudai sone
March 10, 2018
Tweet
Share
More Decks by soudai sone
See All by soudai sone
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
21
5.8k
仕事を前に進めるためのコツ - 判断と決断と共有 / Aim for the goal
soudai
75
30k
アプリケーションが 正しく動作するということ - 自動テスト編 / Automated Testing
soudai
15
2.9k
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
8
1.7k
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
113
110k
マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy
soudai
26
8.1k
キャッシュと向き合う、キャッシュと共に生きる / cache pattern
soudai
36
15k
RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag
soudai
30
18k
コミュニティと共に生きる - キャリアの螺旋 / live with community
soudai
8
5.7k
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
49k
ガチ勢によるPipeCD運用大全〜滑らかなCI/CDを添えて〜 / ai-pipecd-encyclopedia
cyberagentdevelopers
PRO
2
140
独自ツール開発でスタジオ撮影をDX!「VLS(Virtual LED Studio)」 / dx-studio-vls
cyberagentdevelopers
PRO
0
110
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
230
Aurora_BlueGreenDeploymentsやってみた
tsukasa_ishimaru
1
120
Jamstack でリニューアルするグリーグループのメディア
gree_tech
PRO
2
220
Creating Intuitive Developer Tool in Swift
giginet
PRO
0
570
Java x Spring Boot Warm up
kazu_kichi_67
2
420
小規模に始めるデータメッシュとデータガバナンスの実践
kimujun
2
260
新卒1年目が挑む!生成AI × マルチエージェントで実現する次世代オンボーディング / operation-ai-onboarding
cyberagentdevelopers
PRO
0
100
Nix入門パラダイム編
asa1984
1
160
オニオンアーキテクチャで実現した 本質課題を解決する インフラ移行の実例
hryushm
13
2.7k
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.9k
Scaling GitHub
holman
458
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Unsuck your backbone
ammeep
668
57k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
ࠓ͔ΒͰग़དྷΔ! WebαʔϏεϞχλϦϯά!! 1)1FS,BJHJ
None
ࠓ͔ΒͰग़དྷΔ! WebαʔϏεϞχλϦϯά!! 1)1FS,BJHJ
ಉҰͷ༰Ͱ͋Γ·ͤΜ
PHPerͷͨΊͷ WebαʔϏεϞχλϦϯά!!! 1)1FS,BJHJ
What is it? ϞχλϦϯάͯ͠·͔͢ʁ
What is it? ͳͥϞχλϦϯά͕ඞཁ͔
What is it? 1. ૉૣ͘োʹؾͨ͘Ί 2. ૉૣ͘োݪҼΛڀ໌͢ΔͨΊ 3. γεςϜͷৼΔ͍Λ༧ଌ͠ɺະવ ʹোΛ͙ͨΊ
Լʹߦ͘΄ͲΑΓਫ਼ͷߴ͍ࢹ͕ඞཁ
What is it? ࠓΛ͠ͳ͍͜ͱ
What is it? γεςϜϝτϦοΫεͷ ʢCPUͱ͔Memoryͷͷݟํʣ
http://soudai.hatenablog.com/entry/2017/09/26/080117
What is it? σʔλϕʔεͷࢹͷ
ݕࡧϫʔυ ͦʔ͍ͩͳΔΒ͕͖͘ா ʴ PostgreSQLͷࢹ MySQLͷࢹ InnoDBͷࢹ
What is it? ࠓ͓͢Δ͜ͱ
What is it? WebαʔϏεʴPHPͷࢹ
ࠓ͔ΒͰग़དྷΔ! WebαʔϏεϞχλϦϯά!!!
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹPHPͷϞχλϦϯά ̑ɹ·ͱΊ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹPHPͷϞχλϦϯά ̑ɹ·ͱΊ
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ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αʔϏεΛݟΔ ̏ɹPHPͷϞχλϦϯά ̐ɹϞχλϦϯάͷצॴ ̑ɹ·ͱΊ
WebαʔϏεΛݟΔ 8FCαʔϏεੜ͖
WebαʔϏεΛݟΔ 8FCαʔϏεੜ͖ ˣ ͔ͩΒৗʹมԽ͍ͯ͠Δ
WebαʔϏεΛݟΔ 8FCαʔϏε͍͠
WebαʔϏεΛݟΔ 8FCαʔϏε͍͠ ˣ ৭ΜͳཁૉͷӨڹΛड͚Δ
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αʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ զʑͰίϯτʔϧग़དྷͳ͍ྖҬ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ զʑͰίϯτʔϧग़དྷͳ͍ྖҬ ͔ͩΒͦ͜ϞχλϦϯά͕େࣄ
WebαʔϏεΛݟΔ αʔόαΠυ w 04 w ωοτϫʔΫ w ϛυϧΣΞ w ΞϓϦέʔγϣϯʜFUD
WebαʔϏεΛݟΔ ΞϓϦέʔγϣϯ w ϓϩηε w εϨου w 'SBNFXPSL 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αʔϏεΛݟΔ αʔϏεͷมԽ γεςϜͷมԽͱ૬ؔ
WebαʔϏεΛݟΔ ͔ͩΒ8FCαʔϏεΛݟΔ
WebαʔϏεΛݟΔ ͔ͩΒ8FCαʔϏεΛݟΔ ˣ ϞχλϦϯά͢Δ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹPHPͷϞχλϦϯά ̑ɹ·ͱΊ
ϞχλϦϯάͷצॴ Γ͍ͨ͜ͱԿͳͷ͔ʁ
ϞχλϦϯάͷצॴ Γ͍ͨ͜ͱԿͳͷ͔ʁ ˣ αʔϏε͕ਖ਼͘͠ಈ͍͍ͯΔ͔
ϞχλϦϯάͷצॴ γεςϜͷϞχλϦϯά ϦιʔεΛਖ਼͑ͯ͘͠Δ͔
ϞχλϦϯάͷצॴ γεςϜͷϞχλϦϯά ϦιʔεΛਖ਼͑ͯ͘͠Δ͔ Ϧιʔε͕ෆͯ͠༨Βͯ͠ବ
ϞχλϦϯάͷצॴ ҙਤ͠ͳ͍ڍಈʹؾ͘
ϞχλϦϯάͷצॴ αʔϏεͷมԽͷػඍʹؾ͘
ϞχλϦϯάͷצॴ αʔϏεͷมԽͷػඍʹؾ͘ ˣ มԽͷ͕ࠩ͋Δ͔Βؾ͚Δ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩγεςϜͷՄࢹԽ w ࣮ߦCBUDIͷδϣϒ w Ωϡʔ w อଘ͞ΕͯΔը૾ w %/4/51ͷঢ়ଶ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩαʔϏεͷՄࢹԽ w ϢʔβͷϓϨΠঢ়گ w Πϯετʔϧ͞Εͨ04 w Ϣʔβͷݕࡧϫʔυ w ਃ͠ࠐΈϘλϯͷΫϦοΫ
ϞχλϦϯάͷצॴ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ
ϞχλϦϯάͷצॴ αʔϏεͷৼΔ͍ΛՄࢹԽ͢Δ
ϞχλϦϯάͷצॴ ୭ݟͳ͍άϥϑʹҙຯແ͍
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹPHPͷϞχλϦϯά ̑ɹ·ͱΊ
PHPͷϞχλϦϯά 1)1ͷৼΔ͍ΛΔ
PHPͷϞχλϦϯά 1)1ͷৼΔ͍ΛΔ ˣ ਖ਼͠͞ΛΒͳ͍ͱ ؒҧ͍ʹؾ͚ແ͍
PHPͷϞχλϦϯά 1)1ͷΈΛΔ
PHPͷϞχλϦϯά ϓϩηεͱ1)1
PHPͷϞχλϦϯά Πϕϯτͱ1)1
PHPͷϞχλϦϯά 8FCαʔόΞʔΩςΫνϟং Ώ͏͏͖ϒϩά IUUQCMPHZVVLJPFOUSZXFCTFSWFSBSDIJUFDUVSF
PHPͷϞχλϦϯά 1)1ͱΩϟογϡ
PHPͷϞχλϦϯά 01$BDIFͱ"1$V
PHPͷϞχλϦϯά 01$BDIFίʔυΩϟογϡ "1$VσʔλΩϟογϡ
PHPͷϞχλϦϯά Ͳ͏ͬͯݟΔ͔ʁ
PHPͷϞχλϦϯά "1$Vίϯτϩʔϧύωϧ IUUQTHJUIVCDPNLSBLKPFBQDV
PHPͷϞχλϦϯά 0QDBDIF$POUSPM1BOFM IUUQTHJTUHJUIVCDPNDLPO
PHPͷϞχλϦϯά "QBDIF "QBDIF4FSWFS4UBUVT
PHPͷϞχλϦϯά /(*/9 OHJOY@TUBUVT
PHPͷϞχλϦϯά ݕࡧϫʔυ ͦʔ͍ͩͳΔམॻ͖ா ʴ "QBDIFcc/(*/9 ͷࢹ
PHPͷϞχλϦϯά ͜ΕΒͷαʔϏεΛݟΔ
PHPͷϞχλϦϯά ͜ΕΒͷαʔϏεΛݟΔ ˣ ৗʹݟଓ͚ΔΘ͚ʹߦ͔ͳ͍
PHPͷϞχλϦϯά ࣌ܥྻͰσʔλΛ࣋ͭ
PHPͷϞχλϦϯά ࣌ܥྻͰσʔλΛ࣋ͭ ˣ ͦͷมԽΛఆظతʹݟΔ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩγεςϜͷՄࢹԽ w ࣮ߦCBUDIͷδϣϒ w Ωϡʔ w อଘ͞ΕͯΔը૾ w %/4/51ͷঢ়ଶ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩγεςϜͷՄࢹԽ w ࣮ߦCBUDIͷδϣϒ w Ωϡʔ w อଘ͞ΕͯΔը૾ w %/4/51ͷঢ়ଶ
1)1͕͏ϝϞϦྔ࣮ߦ࣌ؒؾʹͳΔ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩγεςϜͷՄࢹԽ w ࣮ߦCBUDIͷδϣϒ w Ωϡʔ w อଘ͞ΕͯΔը૾ w %/4/51ͷঢ়ଶ
ը૾αΠζͷ߹ܭ͕NFNPSZ@MJNJUʹऩ·Δʁ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩαʔϏεͷՄࢹԽ w ϢʔβͷϓϨΠঢ়گ w Πϯετʔϧ͞Εͨ04 w Ϣʔβͷݕࡧϫʔυ w ਃ͠ࠐΈϘλϯͷΫϦοΫ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩαʔϏεͷՄࢹԽ w ϢʔβͷϓϨΠঢ়گ w Πϯετʔϧ͞Εͨ04 w Ϣʔβͷݕࡧϫʔυ w ਃ͠ࠐΈϘλϯͷΫϦοΫ
"QBDIFͷNBYDMJFOUT͑ͳ͍ʁ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩαʔϏεͷՄࢹԽ w ϢʔβͷϓϨΠঢ়گ w Πϯετʔϧ͞Εͨ04 w Ϣʔβͷݕࡧϫʔυ w ਃ͠ࠐΈϘλϯͷΫϦοΫ
ͲΕ͘Β͍ͷ42-͕࣮ߦ͞ΕΔʁ
PHPͷϞχλϦϯά 1)1ͱαʔϏεͷৼΔ͍ දཪҰମ
PHPͷϞχλϦϯά ͔ͩΒͦ͜ϞχλϦϯά͢Δ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹPHPͷϞχλϦϯά ̑ɹ·ͱΊ
·ͱΊ ·ͣՄࢹԽΛ͢Δ
·ͱΊ μΠΤοτମॏܭʹΔ͠ɺ ݈߁அ݂ѹͳͲΛܭଌ͢Δ
·ͱΊ μΠΤοτମॏܭʹΔ͠ɺ ݈߁அ݂ѹͳͲΛܭଌ͢Δ 8FCαʔϏεҰॹ
·ͱΊ ਪଌΑΓܭଌ
·ͱΊ ਪଌΑΓܭଌ ↓ ܭଌΑΓ؍ଌ
·ͱΊ ࣄ࣮ΛΑΓଟ͘ɺਖ਼͘͠Δ͜ͱͰ ະདྷΛਖ਼͘͠༧ଌͰ͖Δ
https://papix.hatenablog.com/entry/2018/03/03/112532
None
·ͱΊ ΤϯδχΞʹࠜڌ͕ඞཁ
·ͱΊ ΤϯδχΞʹࠜڌ͕ඞཁ ↓ ͳΜͱͳ͘Ͱࣄग़དྷͳ͍
·ͱΊ
·ͱΊ
·ͱΊ
·ͱΊ ςετίʔυϓϩάϥϜͷ࣭ͷՄࢹԽ ϞχλϦϯάαʔϏεͷ࣭ͷՄࢹԽ
·ͱΊ lߴʹൃୡͨ͠γεςϜͷҟৗ ਆͷౖΓͱݟ͚͕͔ͭͳ͍z Z@VVLJ
·ͱΊ ମॏܭʹΔ͚ͩͰ૫ͤͳ͍
·ͱΊ ମॏܭʹΔ͚ͩͰ૫ͤͳ͍ ↓ ࣭ΛՄࢹԽ͚ͨͩ͠Ͱվળ͞Εͳ͍
·ͱΊ ΠνϩʔͷόοτΛͬͯ ΠνϩʔʹͳΕͳ͍
·ͱΊ lखΛಈ͔ͨ͠ਓ͚͕ͩੈքΛม͑Δz :BTVIJSP0OJTIJ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ