sfSuperCacheをもうちょっと使ってみる

昨日紹介したsfSuperCacheは簡単ですが性能を劇的に向上させる強力なプラグインです。 制限事項にあるとおりsymfony ccでキャシュをクリアできない事に不便を覚えたので下のようなpakeタスクを作って使っています。

この投稿の続きを読む »sfSuperCacheをもうちょっと使ってみる

init-controllerの提案が却下されました

init-controllerについて提案していた事があっさり却下されましたgeneratorは既にあるファイルを上書きしない方針だとの事なので仕方ありません。そこで以前書いたsymfonyコマンドのラッパーであるsf.rbを修正してctrlというタスクを追加し出力先のフロントコントローラがあれば削除するようにしました。 この投稿の続きを読む »init-controllerの提案が却下されました

アクセラレータ使ってたら意味あるの?sfOptimizerPlugin

いきなり疑問形から入るエントリーで恐縮です。名前に惹かれてsfOptimizerPluginを試してみました。Symfonyを含む多くの(ファイルをいっぱい使う)PHPフレームワークでは、複数のファイルを実行時に寄せ集めて一つのファイルにしておくコンパイルキャッシュという手法がよく使われます。sfOptimizerPluginはそのコンパイルキャッシュされた内容をPHPパーサの読みやすいように変換します。これらの作業は、PHPの中間コンパイル状態でやっているはずなのでeAcceleratorXCacheが動く環境でどれほど効果があるかは疑問です-というか意味ないと思います-明日のディノCTO hnw師匠に聞いてみます。ちなみに通常dev環境ではコンパイルキャッシュはリクエスト毎につくり直されますので意味がありません。

この投稿の続きを読む »アクセラレータ使ってたら意味あるの?sfOptimizerPlugin

最速SuperCache

最近Symfonyのプラグインの中で個人的に気になっているのがsfSuperCacheです。Symfonyには元々cacheのメカニズムが組み込まれていますが、sfSuperCache別のアプローチでキャッシュします。Symfonyに組み込まれたcacheの仕組みは、myproject/cache等のディレクトリにアクションやコンポネントの実行結果を保存しておき、次回のリクエストの時アクションやビューの処理を飛ばす事で実行速度を上げています。sfSuperCacheでは、キャッシュの結果をmyproject/cacheではなくmyproject/web/cache以下に保存し、Apacheのmod_rewriteを利用してPHPを仲介せず直接静的なコンテンツを呼びにいきます。つまり、sfSuperCacheはSymfonyの巨大なフロントコントローラを介さない事で一桁違う処理スピードを実現するのです

ちょうどディノのホームページをウェブプロダクションに制作依頼していますが、このウェブをSymfonyベースのCMS(コンテンツ管理システム)にしようと思っています。企業のホームページは静的な部分が多いのでsfSuperCacheは是非多用したいプラグインです。

この投稿の続きを読む »最速SuperCache