2012年12月21日金曜日

Rails3.2.8 ローカルwebrickよりもssl+nginx+unicornの方が早い件

題名のとおりですが、
[比較] ローカル環境
Mac10.7.5 webrick+ Rails3.2.8 + Ruby1.9.3



ubuntu + nginx + unicorn + Rails3.2.8 + Ruby1.9.3 + ssl

で自分たちで作ったサイトで検証してみた。

<検証サイト>
街ココ- https://machi-coco.com

当然ばらつきもあるが、cache後の5回のロード時間を平均するとDOMContentLoadedが1.157s
onLoadedが1.688s

合計時間が平均で2.845sとなる。

一方で、同じアプリケーションの同じくトップページでnginx+unicornで計測

cache後の5回平均DOMContentLoadedが0.6338s(633.8ms)
onLoadedが1.2218s

合計時間が平均で1.8556sと約1秒短いことがわかる。
まあロードする度に時間はばらばらなんで、毎回ローカルwebrickより早いとは言い切れない。

しかし、さすがnginx+unicornです。
あと、ポイントとしては、jsを外部ファイルにしておくと、 2回目以降をキャッシュしてくれるので、時間を短縮できます(これはnginx+unicornでもwebrickでも)。
おまけに読み込むjsはアセットパイプラインになっているんで、
application.js内のtreeを消して、入れたいjsだけを入れると更に短くなるので、お試しあれ。

ついでに「いいね」をしてくれると励みになります。笑