10
15
ZendFrameworkのZend_Cacheのバックエンド(いわゆるキャッシュの格納庫)には、FileとかSQLiteとかMemcached...とか指定して使うわけですが、自宅鯖や専用鯖とかならMemcachedとかAPCとかZendPlatformとかがよいと思いますが、共有鯖ではFileかSQLiteとかになっちゃうかと思います。
さて、今までZWのCacheを使うようになってからずっとFileをバックエンドにしてたんですが、先日SQLiteに変更しました。
というのは、どうもサイトが重いなぁ と思ってCIで要所要所の実行時間を計ってみたところ、なんと原因はこのキャッシュ周りでした。
キャッシュの読み込みではなく、書き込みの部分にかなりのコストが掛かっていたようです。
常に重いわけではなくて、新しいページを表示する度に・・・予想より時間が掛かってるなぁ程度だったので、まあWEBサービス周りでのやり取りとか混んでて排他制御に引っかかった待ちだろうなんて調べもせずに今まできてたんですが、ちゃんと調べればこんなところに原因が・・ってことですね。
ということで、ちょっとだけFileのバックエンドでパラメタを変えたりして調整してみたんですが、どうもファイル自体の書き込みアクセスが遅いようです。
その原因を探るのは大変なので、バックエンドをSQLiteにすることにしました。
"ZWのCacheはSQLiteを使うべし" の続きを読む...
投稿者 ZeRo
8
12
ひさびさにMODxの本家フォーラムのスニペット系の板を覗いてみた。
なんか、結構書き込みが多いような気がするのは久々に覗いたから?? なのか、そもそも元から盛り上がっていたのか定かではないんだけど。
きっと、RevoとEvoのアナウンスとか新しいロゴの発表とかきっと引き金になったに違いない。
-----さて、タイトルの話。 覗いたフォーラムにここ1ヶ月の間にpiexとSendPingとTrackbackの質問が出てた。
piexは、とりあえずむちゃくちゃな英語で返してなんとか読み取ってもらえたらしい。
SendPingとTrackbackについては、tkfmさんのフォローで無事英語圏へどちらも伝わった模様。
そのスレッドがココなんだけど、なにやらあとxmlrpcサポートできて、それっぽく体裁整えればMTやWPみたいなレベルになるじゃんってカキコが(超意訳だけどそういう感じだよね?)。
XMLRPCでブログツールから投稿できればいいなぁって1年半前ぐらいには思ったりもしたんですけど、そのときはメンドクサクなってやめちゃいました。 マジメに考えると結構なボリュームなんですよねぇ、MTのAPIとかBloggerAPIとかサポートしようとすると。
"MODx SendPingはバージョンアップするべきか?" の続きを読む...
投稿者 ZeRo
1
19
CIにPEARのCache_LiteをさらにLiteにしたような自作のキャッシュクラスを作って楽天WEBサービスのXMLデータのキャッシュとして使っていたんですが、DBのキャッシュも兼ねようかと考えていたところ、Zend_Cacheを使うことを思い立ちました。
CIのでDBキャッシュの仕組みでもよかったんですが、仕組みとして有効期限がなかったり、URI毎にキャッシュしちゃうんで作っていたアプリには不向きな仕様だったんです。
で、Zend_Cache・・・・結構いいっすぅ。
自作のキャッシュクラスを破棄決定っす! タグを付ければ、指定タグのキャッシュファイルは全部消えるし、有効期限も対象ごとに設定できるので便利!
ファイル名自体に有効期限が入っているので、本当の意味での指定ごとの対応になるわけです。
Cache_Liteだとそのときにクラスに指定されている有効期限でファイルのタイムスタンプと比較しちゃうので、自作キャッシュロジックではZend_Cacheみたいな感じに対応してたんですけど、パフォーマンスはZend_Cacheの方が優秀でしたわ。
キャッシュクリアの処理が特に速いような、readdir使ってないので速いのかもです。
実際書き換えて作ってみた感じとしては、かなり使い勝手のよいキャッシュクラスだと思います。
ということで、必要に応じてZendFrameworkのクラスを利用するのはよい感じですねぇ。
というよりもCIよりZendFrameworkそのもので作った方がよいかも・・PHP5の環境ならですけど。
次はZend_RestかZend_Service_Amazonとかと組み合させてみようかなぁ
投稿者 ZeRo
piex ver 0.9 test Version