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.5k
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
ソフトウェアエンジニアとしてキャリアの螺旋を駆け上がる方法 - 経験と出会いが人生を変える / Career-Anchor-Drive
soudai
14
4.4k
新婚19年目から学ぶ夫婦円満の正しい歩き方 / Life is beautiful
soudai
11
4.3k
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
33
9.4k
仕事を前に進めるためのコツ - 判断と決断と共有 / Aim for the goal
soudai
85
59k
アプリケーションが 正しく動作するということ - 自動テスト編 / Automated Testing
soudai
17
3.3k
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
8
2k
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
128
130k
マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy
soudai
26
8.7k
キャッシュと向き合う、キャッシュと共に生きる / cache pattern
soudai
38
18k
Other Decks in Technology
See All in Technology
サービスローンチを成功させろ! 〜SREが教える30日間の攻略ガイド〜
mmmatsuda
2
3.5k
TSのコードをRustで書き直した話
askua
4
980
Skip Skip Run Run Run ♫
temoki
0
310
やっちゃえ誤自宅Nutanix
yukiafronia
0
320
ココナラのセキュリティ組織の体制・役割・今後目指す世界
coconala_engineer
0
170
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
250
ドメイン駆動設計によるdodaダイレクトのリビルド実践 / Rebuild practice of doda direct with domain-driven design
techtekt
0
430
信頼性を支えるテレメトリーパイプラインの構築 / Building Telemetry Pipeline with OpenTelemetry
ymotongpoo
9
4.1k
バクラクの組織とアーキテクチャ(要約)2025/01版
shkomine
2
180
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
140
GraphRAG: What I Thought I Knew (But Didn’t)
sashimimochi
0
110
Mocking your codebase without cursing it
gaqzi
0
130
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
GraphQLとの向き合い方2022年版
quramy
44
13k
The Pragmatic Product Professional
lauravandoore
32
6.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Applications with DynamoDB
mza
93
6.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ