プライム・ストラテジー「KUSANAGI」開発チームの謝です。
今回は先日アップデートしたKUSANAGIプラグイン「バージョン:20230705-1」の新機能「テーマアクセラレーター」を紹介します。
「テーマアクセラレーター」とは
全体ページキャッシュを利用しない、ウェブサイトのバックエンドの処理をもっと早くできないかの課題に対して、データ構造や処理プロセスを調査と分析によって作成した機能です。
その分析した結果テーマ内に共通利用かつ変更が少ないデータとFSE(Full site editing)テーマの一部データをキャッシュ利用すれば、テーマをもっと高速化できます。
有効の前提条件
「テーマアクセラレーター」を動作するには下記の条件が満たされることが必要です。
- 管理画面から「テーマアクセラレーター」を有効化
管理画面の「KUSANAGI」⇒「その他」⇒「テーマアクセラレーター」に設定できます。 - apcuを有効化
※KUSANAGIのデフォルトには既に有効になっています。 - フロント画面であり
- リクエストメソッドは「GET」であり
- レスポンシブコードは「200」である
動作について
最初に説明した通り、現在は「ヘッダー、フッター」とFSEのデータの二つ部分キャッシュ化を行っています。
具体的にどの部分のデータにキャッシュをしているかを説明します。
- テーマのヘッダーとフッターフックに文字列に「head」または「foot」を含むかつ「admin」を含まないフックのデータをキャッシュします。
- FSEテーマの構造情報はデータベースに保存されず、キャッシュに保存、それでテーマの構造情報は取得時にデータベースへアクセスを減らす、データベースへのアクセスオーバーヘッドを減らすことをします。
※FSEテーマじゃないと有効になりません。
効果の確認
環境情報
プラットフォーム | Microsoft Azure |
リージョン | 東日本 |
インスタンス | Standard_B2ms |
CPU | (Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz プロセッサ 2 vCPU |
メモリ | 8GiB |
ディスク | Standard HDD LRS 30GiB |
OS | Almalinux 8.8 |
ミドルウェア | Nginx 1.23.4 PHP 8.1.20 Mariadb10.5 |
WordPress | 6.2.2 |
一般テーマ | GeneratePress 3.3.0 |
FSEテーマ | x-t9 1.17.1 |
データ | 弊社コーポレートサイトのコピー |
条件
4スレッド、1000回ループリクエスト アクセス時間の中央値を取る |
対象URL
一覧ページ | https://www.prime-strategy.co.jp/achievements/page/3/ |
詳細ページ | https://www.prime-strategy.co.jp/achievements/yamaha_myujin/ |
計測の結果
条件 | 一般テーマ 一覧ページ | 一般テーマ 詳細ページ | FSEテーマ 一覧ページ | FSEテーマ 詳細ページ |
---|---|---|---|---|
無効化 | 2142ms 0%時間削減 | 1304ms 0% | 1281ms 0% | 1426ms 0% |
header footer部分有効化 | 1204ms 43.8%時間削減 | 1032ms 20.9% | 1178ms 8.0% | 1372ms 3.8% |
全部機能有効化 | 957ms 55.3%時間削減 | 1184ms 9.2% | 1141ms 10.9% | 1287ms 9.7% |
一般テーマに対して9.2%ー55.3%のアクセス時間を削減することが確認できました。
FSEテーマに対して9.7%ー10.9%のアクセス時間を削減することが確認できました。
※実際数値はサイトのデータや構造、ネットワーク環境によって異なります。
キャッシュデータを削除
キャッシュデータを削除したい場合、管理画面上に「テーマアクセラレーター」設定を一旦無効化し、再度有効すれば、以前のデータをすべて削除します。
最後に
「テーマアクセラレーター」は一定条件のフックに対してデータをキャッシュなので、テーマの作り方によって効果薄い場合もあります。
この機能はサイトデータを変更するではないので、是非KUSANAGIプラグインを最新にアップデートし、有効化してみてください。
不具合など発見したら是非KUSANAGIユーザーグループへご連絡をください。