今更ですが WordPress の応答速度改善

ブログの更新をきれいに見せるページを作成しているが、その後の話。

表示するまでに当初 30秒ほどかかっていた処理が、10秒程度まで改善したのだが、まだまだ10秒というのは遅い。JavaScript で動いていた時は砂時計が回っていたのでで何かやているなと解るが、PHPだと読み込みに時間がかかっているように見てて、待つ時間が長く感じる。

ブログはWordPress だし、RSS の出力も WordPress の機能を使っているのだからWordPress を高速にすればいい。世の中には、KUSANGI というキットも販売されている(無償だったかも)ようなのでそこで使われている技術を使っていけば、そこそこ早くなるかもしれない。

Virtual Box に入った CentOS7 で、試しに PHP をキャッシュする仕組みを試しに入れてみて計測したところ、かなり効果が高い。これはいけるのでは、と思い本番環境に入るかどうか調べてみた。

実は、本番環境は、かなり古い。3月に入れ替えをと、お願いしているところ。もしかしたら、予算の都合で4月になるかも、と言われているがすぐにも入れ替えしたいような機種。
/proc/cpuinfo を見たら、CPU は Core2 duo だった。

model name : Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz

このCPUはノートPC用のはず、なんていうのは無視するしかない。(薄い1Uタイプのサーバーは、ノートPCと同じような基盤で作られたのが多かったはず)

こんな世代のサーバーなので、入っているOSは、CentOS5系。さすがにデフォルトの PHP では WordPress が動作しないので、PHP 5.3 が導入されている。ということで、PHPでは古めのキャッシュ機能しか使えない。

データベースのMySQLももちろん古いバージョンということになる。 これでは最新の WordPress 高速化機能は使えない。

そのため、次の2つを適用することに。

・PHP の古いキャッシュ機能の apc
・MySQLのキャッシュ機能

まず、apc は php 5.3 の devel や pear をインスールして pecl install apc で簡単に導入できました。pear が普通に使えるのは便利。

MySQL は、簡単な設定のみ。読み出しだけで書き込みがめったにない WordPress では、クエリーをメモリーにキャッシュするのは問題ないと判断。

ab コマンドで計測したら、グーグルで検索したサイトの ab コマンドの結果に比べて1桁小さいものの、改善が見られました。

でも、まだまだ遅い。
画像をたくさん使ったブログページがやたら遅いな、と感じたこともあるのですが、CPU がそもそも遅いので、手を入れてもこんなものか。最新の機種に交換できたらあの遅いページも、もっと使えるようになるのかな。