PowerCMS X ブログ

2020-12-14

高速化のための設定について

動作速度は PowerCMS Xの大きなメリットの一つですが、初期状態では高速化のための一部設定が Offになっています。また、PHP拡張モジュールやWebサーバーの設定も動作速度に影響する部分があります。この記事では PowerCMS Xの高速化のための設定についてご紹介します。

できるだけ最新版のPHPで動かし、PowerCMS Xは常に最新版にアップグレードする

最新版の ver.2.4では、PHP 8に対応した他、インデックス・テンプレートの再構築処理の無駄な部分をスキップするようになっています。最新版へのアップグレードをお願いします。尚、このページにある設定を適切に行なった後 PHP 8で再構築速度の計測を行った結果、速度は2倍以上になりました。

PHPの flush関数が意図通りに動作するか確認する(動作しない場合は設定する)

PowerCMS Xでは、PHPの「flush」関数を使ってブラウザにレスポンスを返した後にバックグラウンドで各種処理を行います。

Apache Handler の場合 mod_gzip のような Apache 用のサーバーモジュールはそれ自体がバッファリングを行いますので 管理画面においては mod_gzipは無効化してください(最近のサーバーでは気にする必要は稀だと思います)。 また、php-fpmを利用する場合、flushpackets, flushwait の設定に注意してください。

設定の例 :

<Proxy unix:/run/php-fpm/www.sock|fcgi://localhost>
    ProxySet flushpackets=on timeout=300
</Proxy>

flush() が意図通りの結果になっているかどうかは、ver.2.2以降の pt-check.php で確認できます。バージョンが ver.2.2未満の場合はアップグレード後に確認ください。

OPcacheを有効化する

OPcacheの有効化は PowerCMS Xの高速化にとって重要な要素です。無効な場合は有効化してください。

Xdebugを無効化する

Xdebugが有効な場合、テンプレートエンジンのビルドにかかる時間が大幅に遅くなります。開発フェイズなどで必要な場合を除き、Xdebugは無効化してください。

環境変数 cache_driver を指定する

環境変数 cache_driver に"File"もしくは"Memcached"を指定してください。1台構成の場合は"File"がより高速です。 最新版の config.json-original.json では、"File"が指定されています。

環境変数 query_cache を指定する

環境変数 query_cache を true に指定すると、データベースへのSQLクエリを File または Memcached にキャッシュするようになり、大幅な高速化が見込めます。

環境変数 rebuild_async を指定する

環境変数 rebuild_async を true に指定すると、ポップアップウィンドウでの再構築を並列処理で行うようになります。 並列処理数は、環境変数 async_max_proc で設定します。初期値は「4」です。サーバーのコア数を参考に設定してください。

カテゴリー:技術情報 | インストール

投稿者:Junnama Noda

ブログ内検索

アーカイブ