Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
HTTP/1.1 -> SPDY/3.1 -> HTTP/2
Tatsuhiko Kubo
April 14, 2015
Technology
9
4.9k
HTTP/1.1 -> SPDY/3.1 -> HTTP/2
Tatsuhiko Kubo
April 14, 2015
Tweet
Share
More Decks by Tatsuhiko Kubo
See All by Tatsuhiko Kubo
Handling a tremendous amount of images with Fastly / Yamagoya Traverse 2020
cubicdaiya
2
970
System Integration with Fastly
cubicdaiya
0
400
実例で学ぶ画像最適化集 with ImageFlux / ImageFlux meetup#2
cubicdaiya
4
17k
Software Engineer, Infrastructure
cubicdaiya
4
2.7k
High Performance Count Up!
cubicdaiya
0
200
ImageFluxを利用した画像配信の最適化 / ImageFlux meetup 201801
cubicdaiya
0
2.2k
Building high performance push notification server in Go
cubicdaiya
5
2.7k
メルカリのデータ分析基盤 / mercari data analysis infrastructure
cubicdaiya
11
11k
On-call Engineering
cubicdaiya
8
5.7k
Other Decks in Technology
See All in Technology
History of the ML system in KARTE
kargo113
1
660
What's new in Vision
satotakeshi
0
220
How to start with DDD when you have a Monolith
javujavichi
0
350
要約 "Add Live Text interaction to your app"
ushisantoasobu
0
150
What's Data Lake ? Azure Data Lake best practice
ryomaru0825
2
750
約6年間運用したシステムをKubernetesに完全移行するまで/Kubernetes Novice Tokyo
isaoshimizu
6
930
UIKitのアップデート #WWDC22
akatsuki174
4
350
Security Hub のマルチアカウント 管理・運用をサーバレスでやってみる
ch6noota
0
890
Meet passkeys
satotakeshi
1
130
JDK Flight Recorder入門
chiroito
1
520
GeoLocationAnchor and MKTileOverlay
toyship
0
110
RDRA + JavaによるレジャーSaaSプロダクトの要件定義と実装のシームレスな接続
jjebejj
PRO
3
760
Featured
See All Featured
Done Done
chrislema
174
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
Happy Clients
brianwarren
89
5.6k
The Invisible Customer
myddelton
110
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
212
20k
How STYLIGHT went responsive
nonsquared
85
3.9k
Faster Mobile Websites
deanohume
294
28k
Art Directing for the Web. Five minutes with CSS Template Areas
malarkey
196
9.4k
Designing Experiences People Love
moore
130
22k
Optimizing for Happiness
mojombo
365
63k
Building Adaptive Systems
keathley
25
1.1k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
Transcript
HTTP/1.1 -> SPDY/3.1 -> HTTP/2 Tatsuhiko Kubo@cubicdaiya http2 RFCൃߦه೦LT@2015/04/14
ࣗݾհ • ٱอୡ(Tatsuhiko Kubo) • bokko@cubicdaiya • Software Engineer in
Infrastructure Engineering • Mercari, Inc.
is powered by SPDY/3.1(nginx)
OSS࡞ͬͨΓίϯτϦϏϡʔτͨ͠Γ
Agenda • HTTP/1.1Ͱ௨৴͢ΔWebαΠτͷύϑΥʔϚϯενϡʔχϯά • ↑Λ্ͬͨͰHTTP/2Խͯ͠Έͨ • ࣮ࡍͷWebΞϓϦέʔγϣϯ(Zabbix)Λݩʹܭଌ • Google Develper
ToolsͰܭଌ • ࠨԼͷεςʔλεόʔʹදࣔ͞ΕͯΔͭ
ຊ͔Βւ֎ͷZabbix dashboardʹΞΫηε
Client • MacBookPro • Google Chrome • HTTP/2༗ޮ • ϒϥβΩϟογϡৗʹແޮˣ
Server(ॳظঢ়ଶ) • Apache(prefork) + mod_php • தZabbix • KeepAlive Off
• gzipѹॖແޮ • TLS Session Cache & Tickets༗ޮ
Server(ॳظঢ়ଶ) "QBDIF 1PSU HTTPS Server (PPHMF"VUI1SPYZ "QBDIF 1PSU SSLऴ Ϣʔβೝূ
Zabbix
ύϑΥʔϚϯε(ॳظঢ়ଶ) ໊߲ ܭଌ લճ ͱͷൺֱ ॳظঢ়ଶ ͱͷൺֱ 3FDFJWFESFRVFTUT
%BUB5SBOTGFS ,# -PBE5JNF TFD %0.$POUFOU-PBE FE5JNF TFD
νϡʔχϯά ͦͷ1 KeepAlive On KeepAliveΛ༗ޮʹ͢Δ
ύϑΥʔϚϯε ໊߲ ܭଌ લճ ͱͷൺֱ ॳظঢ়ଶ ͱͷൺֱ 3FDFJWFESFRVFTUT
%BUB5SBOTGFS ,# ,# ,# -PBE5JNF TFD TFD TFD %0.$POUFOU-PBE FE5JNF TFD TFD TFD
νϡʔχϯά ͦͷ2 <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/js AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json-rpc </IfModule> gzipѹॖΛ༗ޮʹ͢Δ
ύϑΥʔϚϯε ໊߲ ܭଌ લճ ͱͷൺֱ ॳظঢ়ଶ ͱͷൺֱ 3FDFJWFESFRVFTUT
%BUB5SBOTGFS ,# ,# ,# -PBE5JNF TFD TFD TFD %0.$POUFOU-PBEF E5JNF TFD TFD TFD
νϡʔχϯάͦͷ3 "QBDIF 1PSU HTTPS Server (PPHMF"VUI1SPYZ "QBDIF 1PSU SSLऴ Ϣʔβೝূ
Zabbix OHJOY 1PSU SSLऴΛnginxͰߦ͏
νϡʔχϯάͦͷ3 # nginx.conf # in main context worker_processes auto; tcp_nopush
on; keepalive_timeout 65s; open_file_cache max=1000 inactive=20s; ssl_session_cache shared:SSL:30m; gzip on; gzip_comp_level 9; gzip_types text/css text/plain text/js text/javascript application/javascript application/json-rpc; # in event context accept_mutex_delay 100ms; # in event context ੩తϑΝΠϧશ෦nginxͰ৴͢Δ
ύϑΥʔϚϯε ໊߲ ܭଌ લճ ͱͷൺֱ ॳظঢ়ଶ ͱͷൺֱ 3FDFJWFESFRVFTUT
%BUB5SBOTGFS ,# ,# ,# -PBE5JNF TFD TFD TFD %0.$POUFOU-PBEF E5JNF TFD TFD TFD
νϡʔχϯάͦͷ4 listen 443 ssl spdy; SPDY/3.1Λ༗ޮʹ͢Δ
ύϑΥʔϚϯε ໊߲ ܭଌ લճ ͱͷൺֱ ॳظঢ়ଶ ͱͷൺֱ 3FDFJWFESFRVFTUT
%BUB5SBOTGFS ,# ,# ,# -PBE5JNF TFD TFD TFD %0.$POUFOU-PBEF E5JNF TFD TFD TFD
νϡʔχϯάͦͷ5 HTTPS Server (PPHMF"VUI1SPYZ "QBDIF 1PSU SSLऴ Ϣʔβೝূ Zabbix OHJOY
1PSU SSLऴΛh2o(HTTP/2)Ͱߦ͏ IP 1PSU
ͳ͓ɺh2ogzipѹॖΛ αϙʔτ͍ͯ͠ͳ͍ͷͰ gzipѹॖApacheͰߦ͍·ͨ͠ (gzipѹॖࡁΈϑΝΠϧͷ৴Ͱ͖ΔΑ)
ύϑΥʔϚϯε ໊߲ ܭଌ લճ ͱͷൺֱ ॳظঢ়ଶ ͱͷൺֱ 3FDFJWFESFRVFTUT
%BUB5SBOTGFS ,# ,# ,# -PBE5JNF TFD TFD TFD %0.$POUFOU-PBEF E5JNF TFD TFD TFD
·ͱΊ • WebαΠτ(Zabbix)ΛHTTPαʔόͷνϡʔχϯά͚ͩͰͯ͘͠Έͨ • 4ඵ͔͔ͬͯͨWebϖʔδͷϩʔυ͕1ඵʹͳͬͨ • h2o+HTTP/2ͱnginx+SPDY/3.1Ͱ΄΅ಉ͡ • సૹྔSPDY/3.1ͷ࣌ͱൺͯ7KBݮগ •
ϔομѹॖ(HPACK)͕ޮ͍ͯΔ༷ • CPUόϯυͳϕϯνϚʔΫͳΒh2oͷํ͕͍ͣ • ࠓճωοτϫʔΫϨΠςϯγͷ؍͔Βܭଌͯ͠Έ·ͨ͠