Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
HTTPレイヤーで行うパフォーマンスチューニング (WEBエンジニア勉強会 #05)
OSCA
February 02, 2018
Technology
1
2.2k
HTTPレイヤーで行うパフォーマンスチューニング (WEBエンジニア勉強会 #05)
OSCA
February 02, 2018
Tweet
Share
More Decks by OSCA
See All by OSCA
人工肉を食べよう / Let's eat fake meat
oscasierra
4
810
WEBサイトを HTTP/2 に移行した話 / HTTP2
oscasierra
1
1.7k
次世代の認証(WebAuthn/FIDO2)について説明を試みる
oscasierra
2
1k
WEBサイトが「できた」と安心する前に最終チェックすること
oscasierra
1
1.6k
Service Worker
oscasierra
1
1.1k
Growth of Podcast
oscasierra
0
740
AIの知識無しでもAIを活用したQ&Aページを作る方法
oscasierra
1
940
はじめてのサーバレス関数 (WEBエンジニア勉強会 #06)
oscasierra
0
630
みんなテストってどうやってるの?
oscasierra
0
340
Other Decks in Technology
See All in Technology
220521_SFN_品質文化試論と『LEADING QUALITY』/220521_SFN_Essay_of_Quality_Culture_and_LEADING_QUALITY
mkwrd
0
340
一人から始めるプロダクトSRE / How to start SRE in a product team, all by yourself
vtryo
4
3.1k
プロダクション環境の信頼性を損ねず観測する技術
egmc
4
940
E2E自動テスト導入・運用をめぐる先入観と実際に起きたこと / Preconceptions and What Happened with E2E Testing
ak1210
5
1.4k
XRを取り巻く技術の正体と未来
kajiken_meson
0
200
Embedded SRE at Mercari
tcnksm
0
870
What's new in Spring Cloud?
olgamaciaszek
0
170
220524_開発PM勉強会vol.11_MNTSQ
kkawase
0
120
ヘキサゴナルアーキテクチャを利用したLambda 関数のドメインモデルの実装 Live
fatsushi
3
710
A Conditional Point Diffusion-Refinement Paradigm for 3D Point Cloud Completion
takmin
0
230
ソフトウェアテストで参考にしている67のモノ #scrumniigata / 67 things for software testing
kyonmm
PRO
1
840
Scrum Fest Niigata 2022 開発エンジニアに聞いてみよう!
moritamasami
1
680
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
24
6.2k
The Brand Is Dead. Long Live the Brand.
mthomps
45
2.7k
The Pragmatic Product Professional
lauravandoore
19
2.9k
Producing Creativity
orderedlist
PRO
333
37k
4 Signs Your Business is Dying
shpigford
169
20k
The Power of CSS Pseudo Elements
geoffreycrofte
46
3.9k
Debugging Ruby Performance
tmm1
65
10k
How to name files
jennybc
39
59k
It's Worth the Effort
3n
172
25k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
Making Projects Easy
brettharned
98
4.3k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
Transcript
04$" ᖛ Ұೋࡾ !FOHJOFFS@PTDB )551ϨΠϠʔͰߦ͏ ύϑΥʔϚϯενϡʔχϯά
© OSCA • ͕ࣗʹɺࣗͰ։ൃ͍ͯ͠Δ8&#αʔϏεͷ ύϑΥʔϚϯενϡʔχϯάΛ͔ͬͨΒɻ (PPHMF1BHF*OTJHIUT ͷείΞΞοϓ • ͳΜͰج൫ٕज़ΛΔ͜ͱ͕ॏཁͰɺ8&#ͷͱ ͳΔ)551ͷࣝͷڞ༗Λ͍ͨ͠ɻ
• લճͷʮ8&#ΤϯδχΞษڧձ ʯͰɺ8PSE1SFTT ͷνϡʔχϯάͷ͕͋ͬͨͷͰɺͦΕͷิͱͯ͠ɻ ࠓ͜ͷςʔϚΛબΜͩཧ༝
ࣗݾհ © OSCA 04$"ᖛ Ұೋࡾ ·ͷ ͔ͣ;Έ ϓϩδΣΫτϚωʔδϟʔ ܠࣸਅՈ
+BWB 1)1ϝΠϯͷ8&#ΤϯδχΞ ਓೳ "* ؔ࿈ͬͯΔ ݸਓͰ714आΓͯ8&#αʔϏεΛӡӦத ເͷࠃ ెาݍॅΈ !FOHJOFFS@PTDB !PTDBQIPUP!EJTOFZ@PTDB
© OSCA • ͡Ίʹ • ίϯςϯπΛϒϥβΩϟογϡͤ͞Δ ֓ཁ • )551௨৴ѹॖΛ͢Δ ֓ཁ
• ίϯςϯπΛϒϥβΩϟογϡͤ͞Δ ࣮ԋ • )551௨৴ѹॖΛ͢Δ ࣮ԋ • "QBDIFIUUQE ʹ͓͚Δઃఆ • OHJOY ʹ͓͚Δઃఆ • ϓϩάϥϜ͔Βར༻͢Δ)551ΫϥΠΞϯτʹ͍ͭͯ • ·ͱΊ ࣍
© OSCA 8&#αΠτΞΫηεʹɺ)551Λར༻͍ͯ͠Δ͜ͱ0,ʁ ॳ৺ऀͷํͷͨΊͷ)551ͷ͓͞Β͍ αʔόʔ ϒϥβ ΫϥΠΞϯτ GET /index.html HTTP/1.1
Host: www.yahoo.co.jp HTTP1.1 200 OK <html> <head>…</head> <body>…</body> </html>
© OSCA ͠Β͘ߋ৽͕ͳͦ͞͏ͳಉҰίϯςϯπͷΞΫηεΛݮ Β͠ɺΩϟογϡΛར༻ͤ͞Δ͜ͱͰදࣔΛߴԽͤ͞Δɻ ίϯςϯπΛϒϥβΩϟογϡͤ͞Δ BCDQOH ͪΐ͏͍ͩʂ BCDQOH ͪΐ͏͍ͩʂ BCDQOH
ͪΐ͏͍ͩʂ BCDQOH ͪΐ͏͍ͩʂ ΫϥΠΞϯτ αʔόʔ
© OSCA ίϯςϯπΛϒϥβΩϟογϡͤ͞Δ BCDQOH ͪΐ͏͍ͩʂ BCDQOH ͪΐ͏͍ͩʂ BCDQOH ͪΐ͏͍ͩʂ BCDQOH
ͪΐ͏͍ͩʂ ݄·Ͱɺ ͜ΕΛͬͯʂ ͠Β͘ߋ৽͕ͳͦ͞͏ͳಉҰίϯςϯπͷΞΫηεΛݮ Β͠ɺΩϟογϡΛར༻ͤ͞Δ͜ͱͰදࣔΛߴԽͤ͞Δɻ ΫϥΠΞϯτ αʔόʔ
© OSCA ίϯςϯπΛϒϥβΩϟογϡͤ͞Δ )551Ϩεϙϯεϔομʹ &YQJSFTϔομΛ༩ͯ͠ɺί ϯςϯπͷΩϟογϡ༗ޮظݶΛΒͤΔɻ αʔόʔ ϒϥβ ΫϥΠΞϯτ GET
/logo.png HTTP/1.1 Host: www.hogemoge.co.jp HTTP1.1 200 OK Expires: Wed, 24 Jan 2018 06:53:29 GMT ( )
© OSCA )5.- $44 +BWB4DSJQU 9.- +40/ͳͲͷςΩετ ϑΝΠϧΛѹॖͯ͠ड৴͢Δɻ ड৴σʔλྔ͕ݮΓɺߴ ʹͳΔɻ
ͨͩ͠ɺΫϥΠΞϯτͱαʔόʔͷ྆ํ͕ɺಉ͡ѹॖܗࣜΛ αϙʔτ͍ͯ͠Δඞཁ͕͋Δɻ ͦ͜Ͱɺ"DDFQU&ODPEJOH ϔομͱ$POUFOU&ODPEJOH ϔομΛར༻͢Δɻ )551௨৴ѹॖΛ͢Δ
© OSCA )551௨৴ѹॖΛ͢Δ αʔόʔ ϒϥβ ΫϥΠΞϯτ GET /index.html HTTP/1.1 Host:
www.hogemoge.co.jp Accept-Encoding: gzip, deflate HTTP1.1 200 OK Content-Encoding: gzip (HTML)
© OSCA ϒϥβΩϟογϡ • NPE@FYQJSFT ϞδϡʔϧͷಡࠐΈ͕ඞཁ • ྫ 1/(ը૾ͷϒϥβΩϟογϡظؒΛϲ݄ʹઃఆ "QBDIFIUUQE
ʹ͓͚Δઃఆ LoadModule expires_module modules/mod_expires.so <ifModule mod_expires.c> ExpiresActive On ExpiresByType image/png "access plus 1 month" </ifModule>
© OSCA )551ѹॖ • H[JQѹॖ NPE@EFGMBUF ϞδϡʔϧͷಡࠐΈ͕ඞཁ • ྫ ςΩετ
)5.- $44 +BWB4DSJQUΛѹॖ͢Δ "QBDIFIUUQE ʹ͓͚Δઃఆ LoadModule deflate_module modules/mod_deflate.so <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript </IfModule>
© OSCA OHJOYʹ͓͚Δઃఆ ϒϥβΩϟογϡ • FYQJSFTͷهड़Λ͢Δ͚ͩɻ • ରΛ֦ுࢠͰߜΔ߹࣍ͷΑ͏ͳهड़ɻ expires 30d;
location ~ .*¥.(html|jpg|gif|png|css|js) { expires 30d; }
© OSCA )551ѹॖ • H[JQ POͱ H[JQ@UZQFT ͷهड़Ͱࢦఆ͢Δɻ OHJOYʹ͓͚Δઃఆ gzip
on; gzip_types text/html text/css text/javascript
© OSCA ϓϩάϥϜதͰ +40/ 9.-ͳͲ"1*Λݺͼग़͢͜ͱ͕ ͋Δͱࢥ͍·͢ɻ ͦͷࡍʹ)551ѹॖͬͯؾʹ͍ͯ͠·͢ ͔ʁ ݴޠඪ४ͷωοτϫʔΫܥΫϥεɾؔΛར༻͢Δ߹ɺࣗ Ͱ
$POUFOU&ODPEJOHϔομΛஅͯ͠ղౚ͠ͳ͍ͱ͍ ͚ͳ͍߹͕ଟ͍͕ɺߴػೳͳ)551$MJFOUϥΠϒϥϦΛར ༻͢Εɺ)551ѹॖͷ෦Ӆṭͯͬͯ͘͠ΕΔ߹͕ ͋Δɻ ϓϩάϥϜ͔Βར༻͢Δ)551ΫϥΠΞϯτ
© OSCA ͓ΘΓʹ • ຊεϥΠυͷͭͷνϡʔχϯάɺ͋ͳͨͷ8&#αʔ Ϗεʹߩݙ͢Δ͚ͩͰͳ͘ɺΠϯλʔωοτͷύ έοτΛݮΒ͢͜ͱ͕Ͱ͖ΔΫϦʔϯͳςΫχοΫͰ͢ɻ • 8&#ͷলΤωɾলίετʹߩݙͷ͍͔͕Ͱ͠ΐ͏͔ɻ