SPDY 試してみた
このブログを管理している Movable Type のバージョンアップをしたついでに、サーバに mod_spdy を仕込んで SPDY 下で MT を動かしてみました。結果は、FastCGI 単体にくらべて、10-20% くらい高速化したかな、いったところでした。以下詳細をば。
ところで SPDY というのは、Google が開発したプロトコルで、最近の Chrome や Firefox といったブラウザが対応をはじめています。HTTP のレイテンシを減らすためのプロトコルになっています。うちのサーバは AWS の US-EAST にいるので、レイテンシが大きく、これは効果があるかな、とおもって導入してみました。
導入ですが、apache のモジュールが公開されていますので、これをインストールしました。
https://developers.google.com/speed/spdy/mod_spdy/
わたしの場合は fedora だったので、コマンドとしては以下のとおり。
# wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.rpm # rpm -U mod-spdy-*.rpm
あとは、httpd を restart して完了、設定は /etc/httpd/conf.d/spdy.conf
の標準のままにしています。これで MT の管理画面にアクセスすると SPDY が有効になりました。実のところ、Chrome Extension の SPDY Indicator を使って確認するくらいしかできませんが。
実際の効果ですが、冒頭にも書いたように、ページが表示されるまでの時間が 10-20% くらい早くなったような気がします。うちのサーバでは、MT を https + FastCGI で利用しているのですが、これを SPDY 対応してみて、実際に簡易的に測ってみました。サーバを restart したあと、ブラウザのキャッシュをクリアして直後に、ログインページ、ダッシュボード、エントリー一覧、エントリーの編集、プレニュー、エントリーの編集、ダッシュボード、ログアウト、という順番にアクセスして、その時間を Webkit の Inspector の Network を使って測っています。あ、ブラウザは Chrome ベータの最新版 (19.0.1084.15) を使いました。
結果は以下のとおり。1回しか測っていないので、誤差も大きいと思いますが、体感的にもちょっと早くなった気はします。
SPDY なし (Apache + FastCGI)
ログインページ | 10 requests ❘ 657.74KB transferred ❘ 4.30s (onload: 4.30s, DOMContentLoaded: 3.71s) |
ダッシュボード | 21 requests ❘ 448.76KB transferred ❘ 7.17s (onload: 7.17s, DOMContentLoaded: 5.74s) |
エントリー一覧 | 27 requests ❘ 169.20KB transferred ❘ 6.76s (onload: 5.31s, DOMContentLoaded: 3.73s) |
個別記事 | 50 requests ❘ 392.73KB transferred ❘ 6.90s (onload: 6.91s, DOMContentLoaded: 5.28s) |
プレビュー | requests ❘ 11.51MB transferred ❘ 8.38s (onload: 8.38s, DOMContentLoaded: 4.56s) |
再び個別記事 | 50 requests ❘ 111.23KB transferred ❘ 5.11s (onload: 5.15s, DOMContentLoaded: 4.88s) |
再びダッシュボード | 21 requests ❘ 36.13KB transferred ❘ 3.50s (onload: 3.51s, DOMContentLoaded: 3.49s) |
サインアウト | 10 requests ❘ 4.86KB transferred ❘ 787ms (onload: 788ms, DOMContentLoaded: 776ms) |
(参考)フルリビルド | 2分59秒 |
SPDY あり
ログインページ | 10 requests ❘ 658.02KB transferred ❘ 3.51s (onload: 3.51s, DOMContentLoaded: 3.00s) |
ダッシュボード | 21 requests ❘ 0B transferred ❘ 4.46s (onload: 4.46s, DOMContentLoaded: 4.28s) |
エントリー一覧 | 27 requests ❘ 0B transferred ❘ 4.34s (onload: 2.92s, DOMContentLoaded: 2.65s) |
個別記事 | 50 requests ❘ 132.57KB transferred ❘ 5.07s (onload: 5.10s, DOMContentLoaded: 3.55s) |
プレビュー | 193 requests ❘ 11.46MB transferred ❘ 7.09s (onload: 7.10s, DOMContentLoaded: 2.88s) |
再び個別記事 | 50 requests ❘ 374B transferred ❘ 4.09s (onload: 4.13s, DOMContentLoaded: 3.85s) |
再びダッシュボード | 21 requests ❘ 0B transferred ❘ 3.08s (onload: 3.11s, DOMContentLoaded: 3.11s) |
サインアウト | 10 requests ❘ 0B transferred ❘ 590ms (onload: 591ms, DOMContentLoaded: 579ms) |
(参考)フルリビルド | 3分11秒 |
あと、Firefox も 11 以降で対応しているようですね。Firefox 12.0 でも、about:config を開いで、SPDY を使うようにしました。ちょっと早くなったかな。
対応ブラウザが限られていますが、Apache のモジュールをいれるだけで効果を得られるので、できるかたはやってみてもいいのではないでしょうか。
Comments