WordPressでブログ(というよりは、データベースに近い感じ)を続けて半年。
WordPressを入れてしばらくは、楽しくてしょうがなかった。
記事が書きやすいのなんの。プラグインも色々あって楽しいし、デザインを入れ替えて四苦八苦するのも楽しい。
一番楽しいのは、コメントの「スパム」ってリンクを選ぶと、しゅわーって消えていくところ。すげー! なんかゾクゾクした。たぶん俺は変態だと思う。
でも、それからしばらくすると、違うところが気になりだした。
遅い。遅すぎる。
だって、ローカルからアクセスしてもページ表示に2秒かかるんだよ? リモートからだと間違いなく3秒は掛かる。デッドライン。死ぬ。いや、死ね! 愛してる! >貧弱サーバ
ダイヤルアップの頃に画像非表示で快適なネットサーフィン(死語)をやっていた俺からすると、いくら便利だからってこれは許容できん。ブロードバンドで「速度がはやい」のに、「時間としては早くない」とは何事。
というわけで、色々やってみた。
そしたら、ローカルから1秒弱、リモートからも2秒以内(たぶん)で表示されるくらいに改善。
一番驚いたのが、AdSenseの収益が1.5倍になったこと。PVは2倍以上。うはうは。
やってみたことをまとめてみる。
最初にやってみたのがmod_cache。phpなんか呼ばずにApacheで処理してくれと。
あれ? 動かない。 ふむふむ、Last-Modifiedを付けろと…
あれ? 動かない。キャッシュファイルは出来上がってるみたいだけどぜんぜん早くならない。
結果: ぐぐってみると、mod_rewrite + mod_cache の組み合わせは不可でした orz パッチ当てればいいらしいけど、めんどい。
プラグインでキャッシュだなんて、WordPressどんだけ自由度高いんだよと思いつつ。
結果: ちょっと早い… かな? イマイチだと思ったので計らなかった。
当たり前にされているらしいけど、今まで全く気にしてなかった。常にキャッシュさせた。
結果: 0.3~0.4秒くらい早くなった。パケットキャプチャして確かめた。
WP-Cacheと相性が悪いとか悪くないとかなので、WP-Cacheを外して実験。
結果: 0.7秒くらい早くなった。これもパケットキャプチャして確かめた。
ページそのものとか、ローカル環境では無関係なんだけど、「体感速度」と「ロード終了」も早くしたかったので。
MySQLクエリキャッシュ + APC。これで1秒ちょっと早くなった。
ローカルからの表示時間は半減。おまけの効果で、体感的にはもうちょっと早く感じる。
HTMLを読むのと比べれば圧倒的に遅いんだけども、以前と比べてかなり早くなったので満足。
しばらく放っていると、AdSenseの収益が増えていることに気付く。しかも1.5倍に。
PVも増えてる。いや、PVが増えたぶん、AdSenseの収益も増えてる、と言うほうが正確か。
…お前らどんだけせっかちなんだよ!
でも色々嬉しかったので許す。