10
15
ZendFrameworkのZend_Cacheのバックエンド(いわゆるキャッシュの格納庫)には、FileとかSQLiteとかMemcached...とか指定して使うわけですが、自宅鯖や専用鯖とかならMemcachedとかAPCとかZendPlatformとかがよいと思いますが、共有鯖ではFileかSQLiteとかになっちゃうかと思います。
さて、今までZWのCacheを使うようになってからずっとFileをバックエンドにしてたんですが、先日SQLiteに変更しました。
というのは、どうもサイトが重いなぁ と思ってCIで要所要所の実行時間を計ってみたところ、なんと原因はこのキャッシュ周りでした。
キャッシュの読み込みではなく、書き込みの部分にかなりのコストが掛かっていたようです。
常に重いわけではなくて、新しいページを表示する度に・・・予想より時間が掛かってるなぁ程度だったので、まあWEBサービス周りでのやり取りとか混んでて排他制御に引っかかった待ちだろうなんて調べもせずに今まできてたんですが、ちゃんと調べればこんなところに原因が・・ってことですね。
ということで、ちょっとだけFileのバックエンドでパラメタを変えたりして調整してみたんですが、どうもファイル自体の書き込みアクセスが遅いようです。
その原因を探るのは大変なので、バックエンドをSQLiteにすることにしました。


CMS

piex ver 0.9 test Version