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
ロリポップ!で目指す PHPのためのセキュリティと性能要件を 同時に満たすサーバホスティング技...
Search
MATSUMOTO Ryosuke
PRO
May 21, 2016
Technology
6
11k
ロリポップ!で目指す PHPのためのセキュリティと性能要件を 同時に満たすサーバホスティング技術 / loli-next
PHP実行基盤の高速化・セキュリティ・省メモリ・ペパボKernel
MATSUMOTO Ryosuke
PRO
May 21, 2016
Tweet
Share
More Decks by MATSUMOTO Ryosuke
See All by MATSUMOTO Ryosuke
エンジニアのキャリアパスはどう描く? まつもとりーさんと考える後悔しないキャリア選択
matsumoto_r
PRO
9
1.7k
まつもとりーのこれまでとCOGNANOのこれから
matsumoto_r
PRO
0
260
2022年の研究所の評価制度振り返りと今後
matsumoto_r
PRO
0
640
VUCAワールドから紐解く組織や評価制度の変遷と再設計
matsumoto_r
PRO
9
26k
コンテナの研究開発から学ぶLinuxの要素技術
matsumoto_r
PRO
2
1.4k
開発者体験をさらに向上させる 事業と研究との連携
matsumoto_r
PRO
2
2.1k
企業研究の価値と事業との連携
matsumoto_r
PRO
0
1.2k
誇りを持って研究していくために
matsumoto_r
PRO
1
1.4k
インフラの企業研究の価値とこれから
matsumoto_r
PRO
7
19k
Other Decks in Technology
See All in Technology
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
120
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
110
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
740
Can We Measure Developer Productivity?
ewolff
1
150
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
530
複雑なState管理からの脱却
sansantech
PRO
1
130
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Building Adaptive Systems
keathley
38
2.3k
How to Ace a Technical Interview
jacobian
276
23k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Speed Design
sergeychernyshev
24
610
Designing the Hi-DPI Web
ddemaree
280
34k
Teambox: Starting and Learning
jrom
133
8.8k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Transcript
1)1࣮ߦج൫ͷߴԽɾηΩϡϦςΟɾলϝϞϦɾϖύϘ,FSOFM 2016/05/21 PHPΧϯϑΝϨϯεԬ2016 ϩϦϙοϓʂͰࢦ͢ 1)1ͷͨΊͷηΩϡϦςΟͱੑೳཁ݅Λ ಉ࣌ʹຬͨ͢αʔόϗεςΟϯάٕज़ GMOϖύϘגࣜձࣾ γχΞɾϓϦϯγύϧΤϯδχΞ MATSUMOTO, Ryosuke
@matsumotory
ࣗݾհ (.0ϖύϘגࣜձٕࣾज़ج൫νʔϜ γχΞɾϓϦϯγύϧΤϯδχΞ দຊ྄հ!NBUTVNPUPSZ ઐΠϯλʔωοτͱӡ༻ٕज़
શࣾతʹ৽ٕज़ͷԠ༻৽نݚڀɾ։ൃΛ୲ IUUQSFTFBSDINBUTVNPUPSKQ
࣍ ߴूੵϗεςΟϯάαʔϏε 1)1࣮ߦج൫ͷηΩϡϦςΟͱੑೳͷཱ྆ 1)1࣮ߦج൫ͷϝϞϦޮԽ 1)1࣮ߦج൫҆ఆԽͷͨΊʹϖύϘ,FSOFMར༻
·ͱΊ
ߴूੵϗεςΟϯάαʔϏε
ϗεςΟϯάαʔϏεͷಛ ࣄۀऀ͓٬༷ͷ8FCίϯςϯπΛ੍ޚͰ͖ͳ͍ ϛυϧΣΞɾ04Ͱ੍ޚ͢Δඞཁ͕͋Δ ڞ༗ͷ߹Ϧιʔε੍ޚηΩϡϦςΟ͕ॏཁ ಛʹੑೳͱ͍͔ʹόϥϯεΛͱΔ͔
ฐࣾͰߴूੵͷڞ༗ϗεςΟϯάʹ߆͍ͬͯΔ
ͳͥߴूੵʹͩ͜ΘΔͷ͔
None
None
ݸਓ͚αΠτத৺ ສαΠτΛӡӦ ֶੜओ්ͩͬͨΓݸਓ͕झຯͰ͏༻్ ϋʔυΣΞʹͲΕ͚ͩߴूੵͰ͖Δ͔ʹઓ ͱʹ͔҆͘͘ੑೳͷྑ͍ͷΛఏڙ͍ͨ͠
ιϑτΣΞʹΑΔٕज़ྗʹΑͬͯղܾՄೳ
8FCαʔόͷΞʔΩςΫνϟ
ϓϩηεͱऩ༰αΠτ ϝϞϦ(#Ͱ$16ίΞݸ αΠτΛສ͔ΒສαΠτͰऩ༰ ϓϩηε͕αΠτʹґଘ͠ͳ͍Α͏ͳߏ ෳαΠτڞ༗ͷIUUQEϓϩηε͕ϦΫΤετ͞Εͨϗετ ໊͔ΒಈతʹίϯςϯπΛݕग़ͯ͠ॲཧʢ7JSUVBM)PTU˞
ʣ ˞IUUQIUUQEBQBDIFPSHEPDTDVSSFOUFOWIPTUT
IUUQE ߴूੵͷͨΊͷΞʔΩςΫνϟ IUUQEϓϩηεݸºສສϓϩηεʢϢʔβݸผʹϓϩηεىಈʣ IUUQEϓϩηεݸ͙Β͍ͷԾϗετͰશϢʔβڞ༗ Ϣʔβ" IUUQE Ϣʔβ# IUUQE
Ϣʔβ$ IUUQE Ϣʔβ" Ϣʔβ# Ϣʔβ$ ޮྑ͘ϦιʔεΛ͑Δ ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁͳϦιʔε 04 04
ߴूੵͷͨΊͷ ΞʔΩςΫνϟͷ՝
ηΩϡϦςΟͱੑೳͷཱ྆ ϗεςΟϯάͷಛੑ্Ϣʔβຖʹݫີʹݖݶ ߴूੵڥͷ1)1ͷݖݶͷੑೳͷޮԽ ୯ҰͷBQBDIFݖݶͰىಈ͍ͯ͠ΔϓϩηεͰηΩϡϦ ςΟͱੑೳΛཱ͍͔྆ͭͭ͠ʹదʹݖݶ͢Δ͔
ֶज़ݚڀͷΞϓϩʔνͰ ৽ٕज़Λ։ൃɾಋೖ
None
1)1࣮ߦج൫ͷ ηΩϡϦςΟͱੑೳͷཱ྆
ߴूੵʹ͓͚Δ1)1ͷݖݶ TV&9&$ϦΫΤετຖʹϓϩηεੜഁغ͕ඞཁͰ͍ 'BTU$(*ϢʔβʹԠͯ͡ϓϩηεͱϝϞϦྔ૿Ճ NPE@SVJETVJEੑೳɾηΩϡϦςΟ໘Ͱ͋Γ˞ ݖݶͷͨΊͷίετΛͲ͏Լ͛Δ͔
େنߴूੵͷͨΊͷݖݶΞʔΩςΫνϟݕ౼ ˞দຊ྄հ Ԭ෦णஉ εϨου୯ҐͰݖݶΛߦ͏8FCαʔόͷΞΫηε੍ޚΞʔΩςΫνϟ ిࢠใ௨৴ֶձจࢽ 7PM+# /P QQ 0DU
NPE@QSPDFTT@TFDVSJUZ "QBDIFͷεϨου୯ҐͰݖݶΞʔΩςΫνϟ˞ NPE@QIQͳͲͷݖݶΛߴʹߦ͑Δ ϦΫΤετ࣌ͷݖݶͷίετΛݮ ϓϩηεੜഁغ͔ΒεϨουੜഁغ
˞দຊ྄հ Ԭ෦णஉ εϨου୯ҐͰݖݶΛߦ͏8FCαʔόͷΞΫηε੍ޚΞʔΩςΫνϟ ిࢠใ௨৴ֶձจࢽ 7PM+# /P QQ 0DU IUUQTHJUIVCDPNNBUTVNPUPSNPE@QSPDFTT@TFDVSJUZ
$(*QSPDFTT PXOFSVTFS $(*QSPDFTT PXOFSSPPU QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS TFUVJE TFUHJE
ʜ GPSL FYFDWF TVFYFDQSPHSBN TFUVJESPPU UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF ˞$(* TV&9&$NPEFM
εϨουͱ-JOVY$BQBCJMJUZ ϓϩηε͔ΒݖݶͷDBQBCJMJUZ DBQ ͷΈΛҾ͖ܧ͙ ಈతίϯςϯπ࣮ߦલʹεϨουΛ࡞Δ εϨου্ͰݖݶมߋޙʹDBQΛམͱͯ͠ίϯςϯπ࣮ߦ
7JSUVBMJOH˞ Λͬͯɺ"QBDIFͦͷͷΛ֤छಛݖΛམͱ ͭͭ͠3FBEPOMZͷCJOEϚϯτͱඞཁϑΝΠϧͱϦιʔ ε੍ݶԽͷDISPPUڥʹͯىಈͤ͞Δ͓ͯ͘ͱΑΓڧݻ ˞IUUQTHJUIVCDPNNBUTVNPUPSNSVCZWJSUVBMJOH
1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF NQTUISFBE PXOFSVTFS NQTUISFBE PXOFSBQBDIF JOEFYQIQ PXOFSVTFS
TFUVJE TFUHJE ʜ VOTFUDBQT DSFBUFUISFBE TFUDBQT EFTUSPZUISFBE QBSTF SVO QSDUM TFUVJETFUHJEDBQT NQTUISFBE PXOFSVTFS ˞%40 NPE@QSPDFTT@TFDVSJUZNPEFM 7JSUVBMJOH&OWJSPONFOU
γεςϜίʔϧͷ QIQJOGP ͷΞΫηεΛTUSBDF͔Βղੳ˞ $(* TV&9&$ճ NPE@QIQ
NPE@QSPDFTT@TFDVSJUZճ ΦʔόʔϔουʹͳͬͯΔγεςϜίʔϧ˞ DMPOF PQFO DMPTF FYFDWF ͳͲͳͲ ˞TUSBDFDGQ1*% ˞DBUDHJMPHcHSFQWFQPMM@XBJUcHSFQWGVUFYcQFSMBOF <aEa> QSJOU@JG
None
ͦͷଞͷϝϦοτ͋ͬͨ ෛՙ͕େ෯ʹݮʢ1)1ར༻ऀ͕ଟʣ ϩʔυΞϕϨʔδʹͳΔΑ͏ͳΞΫηε͕ҎԼ ࠓ$(*ͱ%40ͷڞଘ͍ͯ͠Δঢ়ଶ %40ઐ༻ʹ͢Εͬͱऩ༰ޮ্͕͕Δ
ಋೖલޙͷ$16༻ྔൺֱ ҰͷΞΫηεͲͪΒͷαʔόສʢαʔϏεશମͰेԯʣ $(*ʴTV&9&$ %40ʴNPE@QSPDFTT@TFDVSJUZ ˙TZTUFN ˙VTFS ˙JEMF
͞Βʹ҆͘ɺ͞Βʹߴੑೳ
1)1࣮ߦج൫ͷϝϞϦޮԽ
ϩϦϙοϓʂߴूੵ ͱʹ͔͘ϓϩηεΛઅ͍ͨ͠ ͱʹ͔͘ϝϞϦΛઅ͍ͨ͠ NPE@QIQ݁ߏϝϞϦΛ৯͏ ಛʹϓϩηεͷ13*7"5&ͳϝϞϦઅ͍ͨ͠
NFNPSZ@MJNJUʹΑΔ੍ݶ NFNPSZ@MJNJUͰ13*7"5&ϝϞϦ੍ݶͰ͖Δ͕ʜ 1)1࣮ߦޙʹ13*7"5&ϝϞϦ͕ཷ·Δͷ͕ NFNPSZ@MJNJUΛԼ͛Δͱ͓٬༷͕໎ NFNPSZ@MJNJUेʹ͋Δ͕࣮ߦޙʹ͍ͬͯ ͳ͍13*7"5&ϝϞϦΛݮΒ͢ʹͲ͏͢ΕΑ͍͔
;&/%@..@4&(@4*;& ϝϞϦϒϩοΫΛׂΓͯΔࡍͷηάϝϯταΠζ ॲཧޙʹϝϞϦ͕ແବʹΔύλʔϯ͕͋Δ ׂͯྔΛνϡʔχϯάͯ͠Βͳ͍Α͏ʹͰ͖Δ ͕݅߹͑େ͖ͳޮՌ͕ಘΒΕΔͣ
ίʔυΛݟΔݶΓڥมͰ੍ޚՄೳ
None
NPE@QIQىಈ࣌ PID VSZ RSS PRIVATE SHARED[KB] 10280 51188 49824 128
49696 ( 99%) 10281 51188 49824 124 49700 ( 99%) 10282 51188 49824 124 49700 ( 99%) 10283 51188 49824 124 49700 ( 99%) 10284 51188 49824 124 49700 ( 99%) 10285 51188 49824 124 49700 ( 99%) 10286 51188 49824 124 49700 ( 99%) 10287 51188 49824 124 49700 ( 99%) 10288 51188 49824 124 49700 ( 99%) IUUQTHJUIVCDPNIJSPTFTIBSFENFNPSZTJ[F
σϑΥϧτʢ81ΞΫηεޙʣ PID VSZ RSS PRIVATE SHARED[KB] 10281 125628 67372 18428
48944 ( 72%) 10282 125628 67368 18400 48968 ( 72%) 10286 125628 67368 18400 48968 ( 72%) 10291 125628 67368 18400 48968 ( 72%) 10293 125628 67368 18400 48968 ( 72%) 10294 125628 67368 18400 48968 ( 72%) 10300 125628 67368 18400 48968 ( 72%) 10301 125628 67368 18400 48968 ( 72%) 10303 125628 67368 18400 48968 ( 72%) 8PSE1SFTTͷॲཧޙͷ13*7"5&ͷϝϞϦ֬อྔ.#
νϡʔχϯάޙʢ81ΞΫηεޙʣ PID VSZ RSS PRIVATE SHARED[KB] 20908 129212 55076 6108
48968 ( 88%) 20909 129212 55076 6108 48968 ( 88%) 20910 129212 55076 6108 48968 ( 88%) 20911 129212 55076 6108 48968 ( 88%) 20912 129212 55076 6108 48968 ( 88%) 20913 129212 55076 6108 48968 ( 88%) 20914 129212 55076 6108 48968 ( 88%) 20915 129212 55076 6108 48968 ( 88%) 20916 129212 55076 6108 48968 ( 88%) ϓϩηεͰ13*7"5&Λ.#ݮɺϓϩηεͩͱ(#ͷݮ
͓٬༷ͷϝϞϦΛ੍ݶ͢Δ͜ ͱͳ͘1)1ଆͰઅ͕Ͱ͖ͨ
1)1࣮ߦج൫҆ఆԽͷͨΊ ϖύϘ,FSOFMར༻
1)1͕LFSOFMΛ͑ͨ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
COMMAND apache 10241 55636314 0.0 0 0 ? R 12:36 21115121:16 [httpd]
ϖύϘ,FSOFM ,FSOFMܥͷDHSPVQͰ,FSOFMύχοΫϋϯάසൃ $16ສͷQIQͷLFSOFMεϨου ͷ༷ʹݟ͑Δʣ ࡴͤͳ͍ɺIBMUͰ͖ͳ͍ɺϋʔυϦηοτ͢Δ͔͠ͳ͍ $FOU04ʹ,FSOFMܥϕʔεͷϖύϘ,FSOFMΛಋೖ
.BDͰಈ͘,FSOFMͷSQNϏϧυγεςϜ։ൃ IUUQTHJUIVCDPNNBUTVNPUPSLFSOFMCVJMETZTUFNGPSDFOUPT
ಛఆͷ1)1͕ͨ͠Γ੬ऑͰ͋ͬͯ ଞϗετʹඃ͕Ͱͳ͍Α͏ʹ͖ͪΜͱ੍ޚ
·ͱΊ
ͥͻϩϦϙοϓʂͷ1)1Λ ͬͯԼ͍͞ IUUQTMPMJQPQKQ
ϖύϘɾͯͳٕज़େձ։࠵ ओʹ8FCαʔϏεاۀʹڵຯͷ͋Δֶੜ͚ ژͱԬͰि࿈ଓͰ։࠵ʢͱʣ ୈҰճ8FCαʔϏεͷج൫ٕज़ ৄ͘͠ҎԼͷ63-Ͱ IUUQEFWFMPQFSIBUFOBTUBGGDPNFOUSZ