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
技術基盤/SREの視点で取り組む、サービスの成長を継続し、加速させるためのPHPアプリケーション改善
Search
Arakaki Yuji
October 12, 2019
Programming
0
1.4k
技術基盤/SREの視点で取り組む、サービスの成長を継続し、加速させるためのPHPアプリケーション改善
Arakaki Yuji
October 12, 2019
Tweet
Share
More Decks by Arakaki Yuji
See All by Arakaki Yuji
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
340
私の選ぶ開発環境: Raycast, Vivaldi, Warp, Emacsを活用したワークフロー
ug
0
1.5k
2週間に一度からリリースを日々の当たり前にするエンジニアリングマネジメント
ug
0
1.5k
レガシーフレームワークからの移行
ug
0
450
データ指向プログラミング(仮)のススメ
ug
1
530
プログラミング言語に依存しない、質の高いコードを書く技術
ug
0
2.4k
Issues About frontend development
ug
0
3k
Azure web app is good
ug
0
470
sponser session by payke in hackers champloo 2019
ug
0
680
Other Decks in Programming
See All in Programming
Leading Effective Engineering Teams in the AI Era
addyosmani
7
460
CSC509 Lecture 04
javiergs
PRO
0
300
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.2k
ALL CODE BASE ARE BELONG TO STUDY
uzulla
25
6.2k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
590
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
600
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
What's new in Spring Modulith?
olivergierke
1
160
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
1k
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.7k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
For a Future-Friendly Web
brad_frost
180
10k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Designing for Performance
lara
610
69k
Navigating Team Friction
lara
190
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Statistics for Hackers
jakevdp
799
220k
Rails Girls Zürich Keynote
gr2m
95
14k
Documentation Writing (for coders)
carmenintech
75
5.1k
Thoughts on Productivity
jonyablonski
70
4.9k
Transcript
©Payke, Inc.All rights reserved. #-(/SRE.' *"0 +,/ PHP
$ & ) Payke #-( %1!
©Payke, Inc.All rights reserved. 2 6)4% • /' 9- (
) • Twitter: @arakaji • 0,&3Payke • .7(2" • ! • CODEBASE & Lagoon !"8* • Java Kueche • JAZUG 15 ($+# :;
©Payke, Inc.All rights reserved. 3 .YN` N` .Y6 LF.YPayke bZ
2014D11I26H -_4\G 5T Af )M/B aH>;+7# % PaykelW$g: / Sd$98lW#! # OKINAWA OFFICEnJYo 904-0115 P]X2cU^Q1-2-15 TOKYO OFFICE 107-0052 K*jR3e<1-9-13 &.=!4F OSAKA OFFICE 541-0042 ?mE?mC(@3,O2-3-16 THE LINKS KITAHAMA/ Forbes 30 Under 30 Asia 2019 #%% "%ik h0 H[ 2019D2I4H 'V1HJ+ 50+ h0
©Payke, Inc.All rights reserved. 4 Payke$ Payke 47/. &&
% /.81 3EHCA G:20)-"%&$ $=D 47/.9 35 '/.*( BF!&&9 400 ')*( AppStore#%% ,?I> 1 + 201752<6;@ 201958<6;@
©Payke, Inc.All rights reserved.
©Payke, Inc.All rights reserved. 6 - • Payke=J:B;6 • 02F1
• $+.',. PHP".)- & • )%(.:B5@D • & (LC/EK3 /E?O8 .!.* • .#GHA>9 <N7M 4I
©Payke, Inc.All rights reserved. Payke
©Payke, Inc.All rights reserved. 8 Payke G5<> • 3
" • B$G5 • 0E0E )(B$G5@ • *A%7 • CTO' (E?2,6 F/68= *A6DHC3 • 9:G5 • CTO' (Payke + !.&# -41;
©Payke, Inc.All rights reserved. 9 Payke G5<> • 3
" • B$G5 • 0E0E )(B$G5@ • *A%7 • CTO' (E?2,6 F/68= *A6DHC3 • 9:G5 • CTO' (Payke + !.&# -41;
©Payke, Inc.All rights reserved. 1 XdN`/B9^!q • Payke)B5,Wl"Kk eMn_kU
• LT1TH"fg\ !ipP • 70*;ja[V]#&-,O"QR Y,(B=5>1$bF 46%B8A,/;B2A' • PHP6?B9@B&3B+<A#07 • PHP 5.6c • :2.>A'DJZG • etc • eMn_/B9"Io Chip"g\ Sm/B9" E
©Payke, Inc.All rights reserved. 1
©Payke, Inc.All rights reserved. PHP
©Payke, Inc.All rights reserved. /6:27:&9PHP.:(48#*0BP • 2018@9DCHPHP.:(485.6 • @F5.6M)%35+$:#*0,:-ER> ;!
• <ANOLQK"O PHP.:(48#*0BS IG • ?J /6:27:&FuelPHP.:(481.7M • 1.7MPHP7M'1:- 7"=1.8#*0, :-BP
©Payke, Inc.All rights reserved. +6-A.e • 5>A7?A$+6-A. → PHP+6-A.j
• +6-A.WRb BC& @ • 2A(;@hPI#9+*+62A(;@+6 \U `QKX • :1+.,).Hg3) • &A4)K !<Ac`Q(,).%A) F) • fVSD8@2A+6-A.OTMJ • &A4)[^iLE'0=",).%A)FV()6>+/'A.) • aN,). • !<A_] +6-A.WRdY GZ
©Payke, Inc.All rights reserved. 3, 9 • FuelPHP1.81
→ 22+% • PHP 7.21 → 21+% • () • $' # • &6*804 • PHP7.21 -5 ! 7/".#
©Payke, Inc.All rights reserved.
©Payke, Inc.All rights reserved. (62#4:<NVGZd • Payke&:/:&".PHPc?L=OK` JC =ODY
)%(4:7;W NV • MySQLschdules-:28 DY K` JC (62 T^ • )%(4:7Q39*)schedules [DYK`M+)$ [DY ;W • 5:':!$*)B(62T^B9,$FSP bE >A • 9,$F @] (62DY)1:.1U1@aR • &:0)I_)%(4:7HX\
©Payke, Inc.All rights reserved. /*.57ADF • ! .50()5+4!'#
/*9?=F / * • 4&CJ?-52I6 • <;GEAPI: 3%5"@H • ! .50 89?=F /*> /*.5!$, AD • AzureQueue StorageB /*.50*01 • https://github.com/Arakaki-Yuji/backjob
©Payke, Inc.All rights reserved. HC • Azure Queue Storage*("3)
1(" %/,K9: 7 J • %/,6E 24 4-1'&= 1GM6E %/, B= 5;I • $4+&AL%/,!.4<F • &#%.401("@N?>D A8
©Payke, Inc.All rights reserved.
©Payke, Inc.All rights reserved. /,'4ka=cjB\e":-(%:8 Qiq • ?DPayke5:&:@R)$39-M /,'4kajB
\emIb^_oLh] • jB1+9U /,'4ka jB >[ • /,'4kaYkNYWC #)( Z/,'4kajBV PTgK` ldFGjBYnG!9.6(%:79 $f • ?;Hp • OXX< /,'4kajB • AX!09-Gj • 5:&:+!2*:9Gj • SE(%:79$ TgK`Yn J
©Payke, Inc.All rights reserved. *$ /TM9NS<GP 5'!51U W • PaykeFKIB
Azure=J • PaykeF;VM7 +!' • Application Gateway L725()035>HVO • Payke3(.&(Payke 0-)Azure Web App7 +!' • D? :8!51'4$* • Application Gateway" 3!'51E • VME • Azure Web App3!#3!E • AzureCLI%51 az ,3( 6L RCAP Q?@
©Payke, Inc.All rights reserved. (&")D>/?C1:@.'$!.,EH • ;(&")D>/?C1:@4B • 9G63 %$
4A$!#).*0 • (&")D>/? $!#).*/?9G%$ <F 9G$!#).*%$ 4A(&")D>C1 • $!#).*2= 571~284B-++.$A
©Payke, Inc.All rights reserved. %!'B<-=A.8> ," ,)C F • 9Payke/+$(
,)" 16 Web API 4? • API3 %!'B<-=7E A.5:D2A. % !'B<7E0,#, ,)" 16 * &+ @ • ," ,)4;
©Payke, Inc.All rights reserved. 3,*6aX=[`BS^%<.+(<9 bd • '7$/ZVW)<1 YCronDWeb API
F • :+4;+]R+(<9"$. ON >E@ +(<9"$.W+'83.#;27 +(<9"$. • :+4;+]R0<59#;27 +(<9#; +'8 3. K_ CM • )<1IQTL(0<59 or +(<9"$.) -&+.2!#9AJ Web API]R H ? • \G • 3,*6aX=[`B • `BPcG#;27%<.+(<9 KU
©Payke, Inc.All rights reserved. %" 'NC,DM/=G+#!+) E; P • %"
'NC0 *$(J9.<6I2AO8 • %" 'NC74F6I2ABK?L%" 'NC#( • %" 'NCM/5 ><@ • 1:H&*#3 %" 'NC -:.<M/
©Payke, Inc.All rights reserved.
©Payke, Inc.All rights reserved. NFfqg%ly;4A72,%yk" • ^vPpV8.7/%`"NFf}]Y • #8.7/%J
u • NFf} K"qg(&,3'9?D-DaTt&*(C4a)w O~nBD5<2:%ly#!qg%|\"E^vo;4A72 ,"s]%X K;4A72,%yi" h!#" • )C.6& U =0C~nmQ,@(5^v%I&D +3,1>Rc#$ • ^vPpjMHr !x _{jMZ"_{WLe %G lyKd"[zb " SF
©Payke, Inc.All rights reserved. ;FK?HK*JPHP%3<5K6SR • PHP5.61)BE4&@I47I/q#" ! PHP5.6$ Nn
! xUpWZt ,K:/mn ! E/*$] ! • Lawkb `,K:/\Ud"!;'K0 "$_ !(I.8%^h MQ!(I.8%Q n Lxs • 1)BE4&@I47I/q#"9K.CI<G+D>I+u v$N A2=K-CIyifgZU X}!^h {ozcM9K.CI%3<$! |VU OP ! • mnjyieT$ [Yrl
©Payke, Inc.All rights reserved. "2+07<LS?> • /)5,4G[PM XA &+17!7H;W J@#"073FT8\C
KO • FT8\ 7*#]B 17!7ND .7&6 $5ZU9YG[-'5(%=TF^ • FT8\RQ I "2+07:EV
©Payke, Inc.All rights reserved. %!'YP/QX6 -#-+@; • %!'YP]Z ,$*UH3KI\ FS?OI\><=
W • (--",),LD . %!'YPX6^BX6 &,J[:ET • /QX6 -#-+AM • FS?O257N8 10VC • %!'YPX6R9: ?OG4
©Payke, Inc.All rights reserved. ".*% CDA;3 7J 2I •
F1#%',:=6L? >H • *$)%8@/7JB< >H F1#%',L?+(-) &!5E • 9G".*%7J K4 2I 0 E
None