PHPスレッドとメモリの割り当てを調整する機能の導入により、WordPressサイトのパフォーマンスをより細かく制御できるようになりました。
PHPパフォーマンスツールを使用することで、多くのプランでPHPが使用できるメモリ総量を調整し、PHPスレッド(ワーカープロセスとも)間のメモリの割り当てを管理することができます。
スレッド数とスレッドあたりのメモリ上限のバランスを調整しながら、WordPressサイトの要件を満たすために本番環境とプレミアムステージング環境のパフォーマンスを最適化することができます。
PHPスレッドとメモリ上限について
スレッドは、WordPressサイトを動かすPHPコードを実行するプロセスで、データベースクエリ、ページ構築、さまざまなバックグラウンドタスクの実行のために呼び出されます。ウェブページや画像などの静的コンテンツをキャッシュしていない場合、通常PHPスレッドがすべての処理を行います。
スレッドの数は、WordPressサイトが同時に処理できるリクエスト数を決定します。そして各スレッドには、実行するためのメモリ(RAM)が必要です。サイトが必要とするスレッド数と各スレッドが必要とするメモリの量は、サイトのアクセス状況とスレッドが実行するタスクの種類によって異なります。
サイトに4つのPHPスレッドがあり、同時に6件のリクエストを受け取った場合、最初の4件はすぐに処理され、残りの2件は待機することになります。スレッドの実行を待つ間、訪問者のブラウザも待つことになるかもしれません。また最悪の場合、訪問者に「504 Gateway Timeout」エラーが表示される可能性があります。
Kinstaの多くのプランでは、各PHPスレッドにデフォルトで256MBのメモリが割り当てられます。PHPのメモリプール総量が1GBのプランでは、この構成で4つのスレッドを使用することになります。MyKinstaのPHPパフォーマンスツールを利用すると、既存のメモリプール内の使用可能なスレッド数を変更したり、PHPメモリの合計上限を拡大(または縮小)したりすることができます。
メモリが不足すると、サイト訪問者に「500 Internal Server Error」エラーが表示されます。
PHPパフォーマンスの管理
サイトのPHPスレッド数とメモリ上限を確認するには、MyKinstaの「WordPressサイト」>(サイト名)>「分析」に移動します。画面上部にある「パフォーマンス」タブを開き、「PHPスレッド上限」および「PHPメモリ上限到達回数」セクションで、それぞれ過去24時間で上限に達した回数が表示されます。
例えば、以下のスクリーンショットは、過去24時間にスレッド数の上限を2回超えたことを意味します。
これらのPHPパフォーマンス要素を確認(また必要に応じて調整)するには、「WordPressサイト」>(サイト名)>「情報」>「PHPパフォーマンス」セクションに移動します。上のサイトの場合は、以下のようなレポートが表示されます。
上のスクリーンショットでは、PHPのメモリプールが1GBの一般的なウェブサイトが、それぞれ256MBのメモリを使用して4つのスレッドをサポートするように構成されています。
「変更する」をクリックすると、この構成を視覚的に見ることができます。
「メモリプール総量」ドロップダウンで、メモリプールの量を増やすことができます。デフォルトではプランに含まれる量が表示され、ドロップダウンを開くと、変更可能な総量とそれぞれの月額料金が表示されます。
メモリプール総量を変更して、「続行する」をクリックすると、更新内容と月額料金の確認画面が表示されます。
メモリプール総量を変更せずに、ドロップダウンの下にあるスライダーを使用して、スレッド数とスレッドあたりのメモリ量を調整することも可能です。以下は、メモリプール総量が1GBでPHPスレッド数を8に増やしている例です。
1GBのメモリ量で8つのスレッドをサポートするには、スレッドあたりのメモリ量は128MBに削減されます。
必要な変更を加えたら、「PHPパフォーマンスを変更」をクリックして更新してください。
サイトに適したPHPパフォーマンス設定
サイトに適したPHPパフォーマンス設定を行うには、MyKinstaの分析機能が有用です。
例えば、PHPメモリプール総量は1GBで最大スレッド数を8に増やしたら、続いては分析データを監視し、スレッド数またはメモリの上限に関連するエラーが発生することなく、サイトのトラフィックが8つのスレッドで正常に処理されるかどうかを確認します。
PHPメモリプール総量が1GBの場合、スレッド数をさらに16(各64MB)に増やすこともできますが、エラーが続くようであれば、PHPメモリプールの総量を増やすことを検討することをお勧めします。
WordPressパフォーマンスを重視したKinstaのプラン
KinstaのWordPress専用マネージドホスティングは、PHPスレッドやメモリなどのパフォーマンス要素を簡単に制御できるだけでなく、Googleの低レイテンシを誇るプレミアムティアネットワーク上の各データセンターで最速仮想マシンを使用しています。さらにCloudflare統合による、堅牢なCDN、エッジキャッシュ、Early Hints、組み込みの画像最適化がスピードと信頼性をさらに高めます。
Kinstaをご利用でなければ、この機会にぜひお試しください。