2009/11/25 21:00 少し追加訂正
当たり前だけど、読み込みの遅いweb-pageはまずい。でも、どうやって改善したらいいかわからないから放置しがち。
で、わからないなりに、調べたり、手を動かしたり、放置してみた。
1.ホスティング側の問題?
レンタルサーバーはdreamhostを使ってるけど、パフォーマンスに波があるという話を聞いた。
計測方法? serverでuptimeを定期的に取って確認する?
現状 cronでuptimeを計測したのを見てると、2から8くらいまでの数値になっている。5前後が結構多い。これとresponseタイムの関係が、自分の所でまとまっていない。
対策 よくわかない。サーバーの引っ越しは大変そう。情報も出てこないので、放置。
2. wordpressの問題?
wordpressは、mysqlにデータを入れておいて、それを元にphpでhtmlを作るもの。このプロセスが遅い場合は?
計測方法? わからん。1と2を合わせたものが、対象URLのdocumentの読み込み時になると考えていいのかな。
対策 wordpress supercacheを使う。(日本語URIを使うと、動かないという話で敬遠してたけど、先ほどやってみたら動いた、手元では読み込み時間が毎回、cacheを作ってるようだ、、これではだめ、、1000ms以下になった 全然違った)。お手軽に静的ファイルをcacheに置く事ができた。
3. renderingの問題?
ハイパフォーマンスWebサイトという本を見ながら、YSlowを入れて、いろいろやってみた。
- httpリクエストを減らす。 (F判定なんだけど、google 絡みのが大いので削れない、css-spriteはやれてない)
- CDNを使う (僕には関係ない)
- expireヘッダを設定する
- ExpiresActive On
- <FileMatch “.\\.(gif|jpg|js|css|png)$”>
ExpiresDefault “access plus 10 years”
</FileMatch> - js,cssなどで変更のあるものは、version番号が付いてるので、これで良しとする。
- html, javascritp, sytlesheetなどをgzipする (.htaccessで、SetOutputFilter DEFLATEと書いた)
- stylesheetを先頭に置く。 (stylesheetを<head>に持って行った)
- javascriptは最後に置く。 (<head>で読む必要はないので、<body>の最後に移した)
- stylesheetとjavascriptを外部ファイル化する (外部ファイルにして、まとめるものはまとめて、一ファイルにした)
- DNSルックアップを減らす。 (やれることはない?余分な外部サイトへの呼び出しを外していく?)
- javascriiptを縮小化する (jsminを使って縮小した)
- redirectを避ける (いくつか、被リンクのものを引き継いでるので、その分は放置)
- scriptの重複を避ける (wordpressのwp_enqueue_scriptで対応できるそうなんだけど、手で調整して重複を消した)
- ETagの設定を変更する (ETagの必要性がなさそうだったので、.htaccess に FileETag noneと入れた)
- ajaxをcache可能にする (ajaxは使ってない)
とりあえず、1.2の問題は、wordpress-supercacheの導入で良しとした。(Firebugで見る限り、1000ms以下 違った。)
それで、計測方法に、google analyticsを使う。 で完成といきたかったけど、上手くいかなかった。残念。
Pingback: レンタルサーバー選び « 継続日記