KUSANAGIプラグインの「テーマアクセラレーター」の紹介

謝 永佳

プライム・ストラテジーのKUSANAGIプラグインに新機能「テーマアクセラレーター」が追加されました。ウェブサイトのバックエンド処理を早くするための機能で、テーマ内に共通利用かつ変更が少ないデータやFSEテーマの一部データをキャッシュ利用することで、テーマの高速化が可能になります。条件を満たした状態で動作し、キャッシュデータの作成や削除も可能。一般テーマでは9.2%~55.3%、FSEテーマでは9.7%~10.9%のアクセス時間の削減が確認され、効率的なウェブサイト運営をサポートします。

プライム・ストラテジー「KUSANAGI」開発チームの謝です。
今回は先日アップデートしたKUSANAGIプラグイン「バージョン:20230705-1」の新機能「テーマアクセラレーター」を紹介します。

「テーマアクセラレーター」とは

全体ページキャッシュを利用しない、ウェブサイトのバックエンドの処理をもっと早くできないかの課題に対して、データ構造や処理プロセスを調査と分析によって作成した機能です。

その分析した結果テーマ内に共通利用かつ変更が少ないデータとFSE(Full site editing)テーマの一部データをキャッシュ利用すれば、テーマをもっと高速化できます。

有効の前提条件

「テーマアクセラレーター」を動作するには下記の条件が満たされることが必要です。

  • 管理画面から「テーマアクセラレーター」を有効化
    管理画面の「KUSANAGI」⇒「その他」⇒「テーマアクセラレーター」に設定できます。
  • apcuを有効化
    ※KUSANAGIのデフォルトには既に有効になっています。
  • フロント画面であり
  • リクエストメソッドは「GET」であり
  • レスポンシブコードは「200」である

動作について

最初に説明した通り、現在は「ヘッダー、フッター」とFSEのデータの二つ部分キャッシュ化を行っています。
具体的にどの部分のデータにキャッシュをしているかを説明します。

  1. テーマのヘッダーとフッターフックに文字列に「head」または「foot」を含むかつ「admin」を含まないフックのデータをキャッシュします。
  2. FSEテーマの構造情報はデータベースに保存されず、キャッシュに保存、それでテーマの構造情報は取得時にデータベースへアクセスを減らす、データベースへのアクセスオーバーヘッドを減らすことをします。
    ※FSEテーマじゃないと有効になりません。

効果の確認

環境情報

プラットフォームMicrosoft Azure
リージョン東日本
インスタンスStandard_B2ms
CPU(Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz プロセッサ 2 vCPU
メモリ8GiB
ディスクStandard HDD LRS 30GiB
OSAlmalinux 8.8
ミドルウェアNginx 1.23.4
PHP 8.1.20
Mariadb10.5
WordPress6.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ユーザーグループへご連絡をください。

<< kusanagi nginx で HTTP/3 に対応するkusanagi waf(ModSecurity/NAXSI)を使ってサイトを攻撃から守ってみる >>

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解