Hacker Tackle! Kレーン #hackt_k
- hackertackle
- 2691
- 0
- 0
- 0
HTTP/1.xとHTTP/2が混在する時代のウェブサイト設計とmruby in HTTP serverの可能性
松本亮介
HTTPでネットワークを効率よく使えてない。HTTP/1は結果的にレイテンシに依存。ただ、レイテンシは根本的に速くするのは難しい。 #hackt_k
2015-09-26 13:08:35レイテイシの改善は光ファイバー云々まで話が行くから改善は難し。帯域w効率的に使うことが大事 => #hackt #hackt_k
2015-09-26 13:12:06HTTP/1はRTTに依存。1.1でもセッション同期をとらなければならなかった。 HTTP/2ではセッションを確立後、非同期にデータの送受信を行うことができるためRTTに依存しにくい。 #hackt_k
2015-09-26 13:12:24代表的なHTTP/2サーバ。H2O、nghttpx、Apache httpd + mod_h2、nginx v1.9.5 with HTTP/2、Trusterd HTTP/2 Server #hackt_k
2015-09-26 13:12:47@hackertackle: Hacker Tackleはレーン別ハッシュタグとなっております。 ご協力をお願いします〜 Hレーン #hackt_h Kレーン #hackt_k Tレーン #hackt_t 全体 #hackt
2015-09-26 13:18:24サーバープッシュ ・クライアントの1リクエストから必要なコンテンツをサーバが予測 ・1RTT+α内に複数のコンテンツを提供可能 ・今後はこの予測精度が体感速度向上に寄与? 例: index.html にアクセスされたら予めbanner.jpgを送り始める #hackt_k
2015-09-26 13:20:41バックエンドがHTTP/1の場合、HTTP/2のリバースプロキシを入れる。Linkヘッダを入れておくとプロキシがよしなにやってくれる #hackt_k
2015-09-26 13:21:46バックエンドがHTTP/2でリバースプロキシもHTTP/2の場合、対応してるプロキシは今の所nghttpxのみ。基本はLinkヘッダを使う。 #hackt_k
2015-09-26 13:23:06プッシュの課題。クライアントにキャッシュ会ったらどうする?H2Oではcache-aware server-push。cookieヘッダでキャッシュの情報を相互に管理。 #hackt_k
2015-09-26 13:24:57H2Oではサーバ側でも優先度を最適化。体感が向上しそうなmime-typeを優先的に配信。mrubyでもこの辺制御できるようにしたい。 #hackt_k
2015-09-26 13:27:38H2Oはデフォルトで最適なパラメータ設定。今後のチューニングはプッシュや優先度制御をどうやるかにかかってくる? #hackt_k
2015-09-26 13:29:55サーバープッシュの課題 ・キャッシュ 例: 1.html→2.htmlで重複コンテンツをプッシュしても無駄←→既知かの検知に1RTTかけたくない 解決例: cookieで管理 ・優先度制御 *.jsや*.cssなどを優先的に送信してブラウザの”体感速度”を向上 #hackt_k
2015-09-26 13:29:55mruby in HTTP server。mod_mruby,ngx_mrubyなど。実装上はパフォーマンスと学習コストの軽減に気をつけている。 #hackt_k
2015-09-26 13:31:25CiNii 論文 - mod_mruby:スクリプト言語で高速かつ省メモリに拡張可能なWebサーバの機能拡張支援機構 ci.nii.ac.jp/naid/110009843… #CiNii #hackt #hackt_k
2015-09-26 13:33:18