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にオススメのインフラの話
Search
soudai sone
February 22, 2017
Technology
5
3.4k
PHPerにオススメのインフラの話
第二回 山陰PHP勉強会の資料です
soudai sone
February 22, 2017
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
3.1k
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
8
1.8k
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
120
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
Can We Measure Developer Productivity?
ewolff
1
150
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1.1k
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
110
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
170
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
650
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
180
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
8.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Speed Design
sergeychernyshev
25
620
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Faster Mobile Websites
deanohume
305
30k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Docker and Python
trallard
40
3.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Transcript
PHPerʹ͓͢͢Ίͷ Πϯϑϥཧͷ ୈճࢁӄ1)1ษڧձ
What is it? Πϯϑϥཧͯ͠·͔͢ʁ
What is it? গਓͰԿʹઓ͏͔
What is it? ΈΜͳָ͕Ͱ͖ΔͨΊͷΛ͠·͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεͷΠϯϑϥ ̏ɹӡ༻ͱࢹ ̐ɹӡ༻ͷࣗಈԽ ̑ɹ·ͱΊ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεͷΠϯϑϥ ̏ɹӡ༻ͱࢹ ̐ɹӡ༻ͷࣗಈԽ ̑ɹ·ͱΊ
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
Mackerel
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεͷΠϯϑϥ ̏ɹӡ༻ͱࢹ ̐ɹӡ༻ͷࣗಈԽ ̑ɹ·ͱΊ
WebαʔϏεͷΠϯϑϥ ҰൠతͳΠϯϑϥ
8FC %# %/4 .BJM -# Πϯλʔωοτ 8FC 4UPSBHF .POJUPSJOH
WebαʔϏεͷΠϯϑϥ ࠷ۙͷΠϯϑϥ
WebαʔϏεͷΠϯϑϥ ࠷ۙͷΠϯϑϥ ˣ ࣗͰཧ͠ͳ͍ ˓BB4Λ͏
WebαʔϏεͷΠϯϑϥ ࠷ۙͷΠϯϑϥ ˣ ࣗͰཧ͠ͳ͍ ˓BB4Λ͏ *BB4 4BB4 1BB4
8FC %# %/4 .BJM -# Πϯλʔωοτ 8FC 4UPSBHF .POJUPSJOH
8FC %# %/4 .BJM -# Πϯλʔωοτ 8FC 4UPSBHF .POJUPSJOH SPVUFͱ͔
8FC %# %/4 .BJM -# Πϯλʔωοτ 8FC 4UPSBHF .POJUPSJOH 4FOEHSJEͱ͔
8FC %# %/4 .BJM -# Πϯλʔωοτ 8FC 4UPSBHF .POJUPSJOH 4ͱ͔
8FC %# %/4 .BJM -# Πϯλʔωοτ 8FC 4UPSBHF .POJUPSJOH NBDLFSFMͱ͔
8FC %# %/4 .BJM -# Πϯλʔωοτ 8FC 4UPSBHF .POJUPSJOH 1BB4ͳΒ)FSPLVͱ͔
8FC %# %/4 .BJM -# Πϯλʔωοτ 8FC 4UPSBHF .POJUPSJOH 3%4ͱ͔
WebαʔϏεͷΠϯϑϥ $MPVEͷϝϦοτ
WebαʔϏεͷΠϯϑϥ $MPVEͷϝϦοτ ˣ ӡ༻Λ؆ུԽͰ͖Δ
WebαʔϏεͷΠϯϑϥ ӡ༻ͷ؆ུԽ w .BJM%/44BB4 w ෳࡶͳϛυϧΣΞ4BB4 w ໘ͳӡ༻4BB4
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεͷΠϯϑϥ ̏ɹӡ༻ͱࢹ ̐ɹӡ༻ͷࣗಈԽ ̑ɹ·ͱΊ
ӡ༻ͱࢹ Կʹӡ༻Λָʹ͢Δ͔
ӡ༻ͱࢹ ΦϯϓϨ࣌ w όοΫΞοϓͷγΣϧεΫϦϓτ w ৬ਓ͕खಈͰηοτΞοϓ w ࢹαʔόͱ͔ೋͷ࣍
ӡ༻ͱࢹ Ϋϥυ࣌ w όοΫΞοϓΫϥυʹҕୗ w ηοτΞοϓߏཧπʔϧ w ࢹ4BB4ҕୗ
ӡ༻ͱࢹ όοΫΞοϓ ώϡʔϚϯΤϥʔͱόάͷରࡦ
ӡ༻ͱࢹ σʔλͷόοΫΞοϓ
ӡ༻ͱࢹ σʔλͷόοΫΞοϓ ˣ 43%4ͳͲΛ͏ͱ ࣗಈతʹόοΫΞοϓ͍ͭͯ͘Δ
ӡ༻ͱࢹ ίʔυ$POpHͷόοΫΞοϓ
ӡ༻ͱࢹ ίʔυ$POpHͷόοΫΞοϓ ˣ (JUΛ͓͏
ίʔυͷѻ͍ํ w ୭͕͍ͭɺԿΛɺͳͥɺมߋ͔ͨ͠ w ϓϩδΣΫτͱͷؔ࿈͚͕େࣄ w աڈΛ͚Δ͜ͱ͕େ
ӡ༻ͱࢹ 4BB4ͱ(JU
ӡ༻ͱࢹ 4BB4ͱ(JU ˣ ৭ΜͳαʔϏε͕͋Δ
ӡ༻ͱࢹ 4BB4ͱ(JU ˣ ৭ΜͳαʔϏε͕͋Δ (JUIVC#JUCVDLFU
ӡ༻ͱࢹ 4BB4ͱ(JU ˣ ৭ΜͳαʔϏε͕͋Δ (JUIVC#JUCVDLFU ΧϯόϯͳͲͰνέοτͱ Έ߹ΘͤΔͷ͕େࣄ
ӡ༻ͱࢹ Πϯϑϥ͕͋Δফ͑ͯ ࡞ΓͤΔ͜ͱ͕େࣄ
ӡ༻ͱࢹ Πϯϑϥ͕͋Δফ͑ͯ ࡞ΓͤΔ͜ͱ͕େࣄ डୗ։ൃೲͨ͠ΒऴΘΓͰͳ͍
ӡ༻ͱࢹ Πϯϑϥ͕͋Δফ͑ͯ ࡞ΓͤΔ͜ͱ͕େࣄ डୗ։ൃೲͨ͠ΒऴΘΓͰͳ͍ ͓͠٬༷͕σʔλΛফͨ͠ͱ͖ɺ ͦΕΛॿ͚ͯ͋͛ΕΔ͔ʁ
ӡ༻ͱࢹ ࢹΛ͢Δ
ӡ༻ͱࢹ ࢹΛ͢Δ ˣ 4BB4Λ͓͏
ӡ༻ͱࢹ ࢹࣄނ͕ىͬͯ͜ ͔ΒݟΔͰ͏͍
ӡ༻ͱࢹ ࢹࣄނ͕ىͬͯ͜ ͔ΒݟΔͰ͏͍ ࣄલʹ༧ଌ͠ɺ͙ͨΊʹࢹ͕ඞཁ
ӡ༻ͱࢹ ຖݟͯɺมԽͰ༧ஹΛଊ͑Δ
ӡ༻ͱࢹ ຖݟͯɺมԽͰ༧ஹΛଊ͑Δ ຖݟͯͳ͍ͱ$16ͷෛՙ͕ͳͥɺಥવ૿͑ͨͷ͔Θ͔Βͳ͍
ӡ༻ͱࢹ ΠϯϑϥΛγϯϓϧʹͯ͠ ຖͷมԽΛݟΔ
ӡ༻ͱࢹ ͜Ε͕ӡ༻ͱࢹ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεͷΠϯϑϥ ̏ɹӡ༻ͱࢹ ̐ɹӡ༻ͷࣗಈԽ ̑ɹ·ͱΊ
ӡ༻ͷࣗಈԽ αʔϏεੜ͖
ӡ༻ͷࣗಈԽ ৗʹαʔϏεมԽ͢Δ
ӡ༻ͷࣗಈԽ มԽʹରԠ͢Δʹʁ
ӡ༻ͷࣗಈԽ มԽʹରԠ͢Δʹʁ ˣ ࣗಈԽ
ӡ༻ͷࣗಈԽ ϦϦʔεͷࣗಈԽ
ӡ༻ͷࣗಈԽ 1)1ίʔυ͕͋Εಈ͘
ӡ༻ͷࣗಈԽ 1)1ίʔυ͕͋Εಈ͘ ˣ HJUQVMM͢Δ͚ͩͰྑ͍
8FC %# -# Πϯλʔωοτ 8FC HJU DPEF DPEF DPEF
8FC %# -# Πϯλʔωοτ 8FC HJU DPEF DPEF DPEF
8FC %# -# Πϯλʔωοτ 8FC HJU DPEF DPEF DPEF
ӡ༻ͷࣗಈԽ HJUQVMMΛ୭͕ߦ͏͔ ˣ खಈ͔ΒࣗಈԽ
ӡ༻ͷࣗಈԽ ίϚϯυͷࣗಈԽ
ӡ༻ͷࣗಈԽ ίϚϯυͷࣗಈԽ ˣ ߏཧπʔϧ
ӡ༻ͷࣗಈԽ "OTJCMFΛ͏
ӡ༻ͷࣗಈԽ "OTJCMFΛ͏ ˣ "OTJCMFͰHJUQVMMͤ͞Δ
8FC %# -# Πϯλʔωοτ 8FC HJU DPEF DPEF DPEF
ӡ༻ͷࣗಈԽ ςετͷࣗಈԽ
ӡ༻ͷࣗಈԽ ςετͷࣗಈԽ ˣ ϢχοτςετͱγφϦΦςετ
ӡ༻ͷࣗಈԽ 1)16OJUͱ4FMFOJVN
ӡ༻ͷࣗಈԽ ΠϯϑϥͷࣗಈԽ
ӡ༻ͷࣗಈԽ ΠϯϑϥͷࣗಈԽ %FW0QTͷಓͷΓԕ͍
ӡ༻ͷࣗಈԽ ৗۀͷࣗಈԽ
ӡ༻ͷࣗಈԽ ৗۀͷࣗಈԽ ීஈͷۀɺޮԽͯ͠·͔͢ʁ ɾൃϝʔϧ͔Βͷ1%'ࣗಈੜ ɾۀͷ$47ͷࣗಈμϯϩʔυ ɾேͷఆྫۀͷࣗಈԽɹͳͲ
ӡ༻ͷࣗಈԽ ৗۀͷࣗಈԽ ීஈͷۀɺޮԽͯ͠·͔͢ʁ ɾൃϝʔϧ͔Βͷ1%'ࣗಈੜ ɾۀͷ$47ͷࣗಈμϯϩʔυ ɾேͷఆྫۀͷࣗಈԽɹͳͲ ࣗͷۀվળ࢝Ί͍͢ ৽͍ٕ͠ज़Λ৮Δ͖͔͚ͬʹྑ͍
ӡ༻ͷࣗಈԽ ৗۀͷࣗಈԽ ˣ ·͔ͣ͜͜Β࢝ΊΑ͏ʂ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεͷΠϯϑϥ ̏ɹӡ༻ͱࢹ ̐ɹӡ༻ͷࣗಈԽ ̑ɹ·ͱΊ
·ͱΊ ࣗಈԽҰʹͯ͠ҝΒͣ
·ͱΊ ؆ུԽͱࣗಈԽͷ܁Γฦ͠
·ͱΊ ख๏ΛΔʹʁ
·ͱΊ ࠷৽Λ8BUDI͢Δ
·ͱΊ ༏लͳਓͷू·Δॴʹߦ͘
·ͱΊ தࠃํ%#ษڧձ
·ͱΊ Φʔϓϯηϛφʔ ʢౡɾԬࢁʣ
·ͱΊ 1)1ΧϯϑΝϨϯε ʢ౦ژɾେࡕɾԬʣ
·ͱΊ ͕ؒډΔͱ͜Ζʹߦ͘
·ͱΊ ؒΛݟ͚ͭͨΒʁ
·ͱΊ ࣭͢Δ ʢ։ൃऀͷΓ͕ͨΓΛར༻͢Δʣ
·ͱΊ ະདྷߟ͑ΔͷͰͳ͘ɺΓग़͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ