2年前に社内勉強会で発表したモダンなWebパフォーマンスチューニングの話です。
8FCύϑΥʔϚϯενϡʔχϯά(JOPJODۚݪ
View Slide
"HFOEBw ύϑΥʔϚϯεͷࢦඪw ϨϯμϦϯάͷΈw ܭଌํ๏w νϡʔχϯάͷجຊ
ࢦඪͷॏཁੑ
ϢʔβʔͷԠԆ ϢʔβʔͷԠdNT Ξχϝʔγϣϯ͕εϜʔζͩͱײ͡ΔdNTΞΫγϣϯʹର͙ͯ͢͠ʹ݁Ռ͕ಘΒΕͨͱײ͡Δ͜ΕҎ্͕͔͔࣌ؒΔͱɺૢ࡞ͱԠʹζϨΛײ͡ΔdNT Ϣʔβʔ͍ͱײ͡ΔdNT ϖʔδಡΈࠐΈϏϡʔͷΓସ͕͑ࣗવʹਐΜͰ͍Δͱײ͡ΔNTҎ্ Ϣʔβʔ࣮ߦͨ͠λεΫͷؔ৺Λࣦ͏TҎ্ Ϣʔβʔ͏ͬͯ͜ͳ͍
3"*-w 3FTQPOTFw "OJNBUJPOw *EMFw -PBE3FTQPOTFϢʔβʔͷΞΫγϣϯʹରͯ͠ԠΛฦ͢·Ͱͷ࣌ؒNT"OJNBUJPO࿈ଓͨ͠ΞχϝʔγϣϯͷதͰɺϑϨʔϜลΓͷॲཧ࣌ؒNTNT*EMF ΞΠυϧঢ়ଶʹ࣮ߦ͞ΕΔ+BWB4DSJQUͷॲཧ࣌ؒ NT-PBE ϖʔδͷίϯςϯπͷಡΈࠐΈʹ͔͔Δ࣌ؒ NT
ϨϯμϦϯάͷͭͷఔ-PBEJOH4DSJQUJOH3FOEFSJOH1BJOUJOH'SBNF
ϑϨʔϜͷৄࡉ
-PBEJOHw %PXOMPBEw ίϯςϯπΛϩʔυw 1BSTFw %0.πϦʔɺ$440.ͷπϦʔ
4DSJQUJOHw ࣈ۟ղੳw ߏจղੳw ίϯύΠϧw ࣮ߦ
3FOEFSJOHw $BMDVMBUF4UZMFw ఏڙ͞ΕΔTUZMFͷܭࢉw -BZPVUw ϨΠΞτใͷܭࢉw ཁૉͷେ͖͞w ཁૉͷϚʔδϯw ཁૉͷ͍ͪw ;࣠
1BJOUJOHw 1BJOUw άϥϑΟοΫΤϯδϯͷͨΊͷ໋ྩͷྻΛੜw 3BTUFSJ[Fw ໋ྩྻ͔ΒϐΫηϧΛੜ͢Δw ϨΠϠʔ͜͜Ͱ࡞͞ΕΔw $PNQPOFOU-BZPVUw ϨΠϠʔΛ߹ͯ͠ίϯςϯπදࣔ
νϡʔχϯάͷجຊw جຊܭଌ͔Β࢝ΊΔw νϡʔχϯάͷੋඇࢦඪͱরΒ͠߹Θͤͯߦ͏
ଌఆͷํ๏w ͍͔ͭ͋͘Δw $ISPNF"VEJU MJHIUIPVTFw $ISPNF%FW5PPMTw +BWB4DSJQUͷຒΊࠐΈw ύϑΥʔϚϯεஅπʔϧw /FX3FMJD
$ISPNF%FW5PPMT1FSGPNBODF
ͰɺQBJ[Bʁ
10)
Ұํ(SFFOʁ
͔ͯ͠͠
-PBEJOHͷνϡʔχϯάw ಡΈࠐΉϦιʔεͷେ͖͞ͱΛݮΒ͢w ϨϯμϦϯάΛϒϩοΫ͢ΔಡΈࠐΈΛݮΒ͢w ϒϥβͱαʔόʔؒͷԆΛݮΒ͢w ΩϟογϡΛ׆༻͢Δw )551
+BWBTDSJQUͷEFGFSBTZODw ඇಉظʹಡΈࠐΉ͕ɺ࣮ߦλΠϛϯάͱ࣮ߦॱ͕ҟͳΔͳ͠ EFGFS BTZOD)5.-ͷύʔε ϒϩοΫ͢Δ ϒϩοΫ͠ͳ͍ ϒϩοΫ͠ͳ͍࣮ߦλΠϛϯά ಉظత )5.-ͷύʔεޙ εΫϦϓτऔಘޙ࣮ߦॱ એݴॱͰอূ એݴॱͰอূ อূ͞Εͳ͍
4DSJQUJOHͷνϡʔχϯάw ($Λ͙w 8FC8PSLFSTΛ͏w BTNKTͰߴԽw 1BTTJWF&WFOU-JTUFOFSw 8FC(-
Ұ൪ϝΠϯͷ6*εϨουΛࢭΊͳ͍͜ͱ
'PSDFE4ZODISPOPVT-BZPVUw 4DSJQUJOHͰ$BMDVMBUF4UZMFͱ-BZPVU͕Δ͜ͱWBSEJWEPDVNFOUDSFBUF&MFNFOU EJW`EJWJOOFS)5.-EJWFMFNFOU`EPDVNFOUCPEZBQQFOE$IJME EJW͜͜Ͱ'PSDFE4ZODISPOPVT-BZPVU͕ൃੜ͢ΔDPOTPMFMPH EJWP⒎TFU5PQSFRVFTU"OJNBUJPO'SBNF GVODUJPO \͜͜Ͱऔಘ͢Δͱ'PSDFE4ZODISPOPVT-BZPVUى͖ͳ͍DPOTPMFMPH EPNP⒎TFU5PQ^
3FOEFSJOHͷνϡʔχϯάw %0.$44Λখ͘͢͞Δw JNHͷαΠζΛࢦఆ͢Δ
$44ͷϚονϯάϧʔϧw ηϨΫλӈ͔Βࠨʹղऍͯ͠ϚονϯάΛߦ͏w CVUUPOཁૉ͋Δw ཁૉʹDPOUBJOFSؚ͕·Ε͍ͯΔw ཁૉ͕CPEZͰ͋ΔCPEZDPOUBJOFSCVUUPO\^
࠶ϨϯμϦϯάw લճͷ$BMDVMBUF4UZMF-BZPVUͷ݁ՌΛۃྗ͍ճ͢w ͨͩ͠ɺมߋ෦ܭࢉ͢͠ඞཁ͕͋Δw KTͰTUZMFϓϩύςΟΛͨ͠ΓɺBEE$MBTTͨ͠Γ
ϨϯμϦϯάͷνϡʔχϯάw લߦఔ͕ى͖ͳ͍Α͏ʹ͢Δw IUUQTDTTUSJHHFSTDPNw มԽ෦ͷΈϨΠϠʔΛ͚Δ
&OE