2014年11月07日
PowerCMS 4.05で高速化された DynamicMTML について
PowerCMS 4.05では、PHP5.5 に対応したほか、DynamicMTMLが大きく改良され処理が高速化されています。後方互換性の問題から、アップグレードするだけでは恩恵が受けられませんが、mt-config.cgiにいくつかの環境変数を追加するだけで高速化の恩恵が受けられます。是非お試しください。
PowerCMS環境変数(mt-config.cgiに記述)
DynamicInitPluginsLater
DynamicInitPluginsLater 1
まずはこの指定をお試しください。これまでのバージョンの DynamicMTMLではプラグインの初期化の処理に無駄な処理があり、この処理をスキップすることで高速化されます。また、ページキャッシュの利用時に初期化処理を省略するため、キャッシュ利用時にも恩恵が受けられます。
DynamicCacheDriver
DynamicCacheDriver File
File、Memcache、Sessionのいずれかを指定できます。Fileが最も手軽ですが、フロントサーバーを冗長化している場合はキャッシュがマシン単位で生成されるため、Memcache、Sessionの指定を検討ください。
DynamicMemcachedServers
DynamicMemcachedServers 127.0.0.1:11211
DynamicCacheDriver に Memcache を指定している時、Memcachedサーバーのアドレスとポート番号を指定します。ポート番号は省略可能で、省略した場合はポート 11211 へアクセスします。
この設定は mt-config.cgiに複数指定できます。この環境変数の指定がなく、MT標準の MemcachedServers が指定されている場合は、そのサーバーを利用します。
DynamicMemcachedCompressed
DynamicMemcachedCompressed 1
DynamicCacheDriver に Memcache を指定している時、データ圧縮を利用する時に指定します。
DynamicCacheConfig
DynamicCacheConfig 1
データベースの mt_config テーブルの値をキャッシュします。 データベースに Oracle を指定している場合はこの指定を有効にしないでください。
DynamicCacheTTL
DynamicCacheTTL 7200
キャッシュの有効期限(秒)を指定します。デフォルトは7200(2時間)です。 キャッシュの有効期限内でも、パブリッシュされているファイルの更新タイムスタンプがキャッシュ生成時間より新しい場合、キャッシュは破棄され、新たにデータが生成されます。再構築によってファイルのタイムスタンプを更新するようにすれば、キャッシュの有効期限を長く設定しても正しくデータが更新されます。
PowerCMSの再構築では、ファイルの中身に差分がない場合、ファイルのタイムスタンプは更新されません。再構築によって強制的に更新タイムスタンプをアップデートするには、例えばテンプレートに以下のような記述をいれる方法があります。
<!--<MTDate format_name="iso8601">--> <!--出力結果は以下のようになります。値に秒が含まれているため、 再構築時には内容がアップデートされ、ファイルのタイムスタンプが更新されます。--> <!--2014-11-06T11:44:09+09:00-->
DynamicCacheObjects
DynamicCacheObjects blog,template,category,entry
ダイナミック処理の際にロードされるオブジェクトのうち、キャッシュするオブジェクトをカンマ区切りで指定します。デフォルトは blog,template,category,entry です。これらのオブジェクトが管理画面で更新された時、キャッシュは破棄されます。
コメントを投稿する