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.3k
技術基盤/SREの視点で取り組む、サービスの成長を継続し、加速させるためのPHPアプリケーション改善
Arakaki Yuji
October 12, 2019
Tweet
Share
More Decks by Arakaki Yuji
See All by Arakaki Yuji
私の選ぶ開発環境: Raycast, Vivaldi, Warp, Emacsを活用したワークフロー
ug
0
1k
2週間に一度からリリースを日々の当たり前にするエンジニアリングマネジメント
ug
0
1.3k
レガシーフレームワークからの移行
ug
0
370
データ指向プログラミング(仮)のススメ
ug
1
480
プログラミング言語に依存しない、質の高いコードを書く技術
ug
0
2.2k
Issues About frontend development
ug
0
2.6k
Azure web app is good
ug
0
400
sponser session by payke in hackers champloo 2019
ug
0
620
introduction about MySQL
ug
0
160
Other Decks in Programming
See All in Programming
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
920
useSyncExternalStoreを使いまくる
ssssota
6
1k
Full stack testing :: basic to basic
up1
1
930
あれやってみてー駆動から成長を加速させる / areyattemite-driven
nashiusagi
1
200
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
Go の GC の不得意な部分を克服したい
taiyow
2
770
From Translations to Multi Dimension Entities
alexanderschranz
2
130
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
MCP with Cloudflare Workers
yusukebe
2
220
CSC509 Lecture 14
javiergs
PRO
0
140
Symfony Mapper Component
soyuka
2
730
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
700
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Optimizing for Happiness
mojombo
376
70k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
How STYLIGHT went responsive
nonsquared
95
5.2k
Faster Mobile Websites
deanohume
305
30k
Bash Introduction
62gerente
608
210k
We Have a Design System, Now What?
morganepeng
51
7.3k
4 Signs Your Business is Dying
shpigford
181
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
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