Drupal8 キャッシュの実力を検証してみた

drupal8ベンチマークカバー

Drupal8から標準でOPCacheが利用できるようになり、Drupal7から比べてCMSのレスポンスが飛躍的に向上しました。

Drupal8では、どれくらいの処理レスポンス能力があるか、ANNAIが制作を担当したDrupal Camp Japanのサイトにベンチマークしてみます。
drupal camp japan
 

実はこちらのサイト、AWS EC2の中でリソースが最小の t2.nano(メモリ512MB、vCPU 1コアで運営していました。

イベント当日もt2.nanoで運営していましたから、なかなかチャレンジングですよね。

 

Apache Bench検証環境

 

では、実際にどれほどの実力があるのかベンチマークを取得してみます。

サーバーマシーン:AWS EC2 t2.nano
Webサーバー:Apache/2.4.23(チューニング無し)
PHP:PHP 5.6.25 (チューニング無し)
Database:MySQL 5.5.51(チューニング無し)
ベンチマーク取得先サイトhttp://2017camp.drupaljapan.org/
Document Length: 27,166 bytes(画像13枚)
Apache Benchコマンド

ab -n 500 -c 50 http://2017camp.drupaljapan.org/

同時に50リクエストを、トータル500リクエスト送る検証を3回行います。
リクエストは別のAWSから、リクエストを送ります。

 

検証結果

 

ベンチマーク

● OPCache有り、Drupal8標準のページキャッシュ有り

1回目の検証結果:104.60 [#/sec]
2回目の検証結果:105.67 [#/sec]
3回目の検証結果:101.95 [#/sec]

平均値:104.07[#/sec](平均で1秒間に104 リクエストに応答することができる)

● OPCache有り、Drupal8標準のページキャッシュ無し

1回目の検証結果:108.45 [#/sec]
2回目の検証結果:118.86 [#/sec]
3回目の検証結果:116.11 [#/sec]

平均値:114.47 [#/sec]

 

続いてOPCacheを無効にしてベンチマークを取得します。
OPCacheの無効は.htaccessに下記を追加します。

php_flag opcache.enable Off

● OPCache無し、Drupal8標準のページキャッシュ無し

1回目の検証結果:19.87 [#/sec]

今回1回目の検証時にDrupalがダウンしてしまいました......
ですので1回のテストで、検証をストップしました。

 

最後に

 

Drupal8では、標準のキャッシュ機能だけで、これだけのレスポンスを得ることができました。

さらにこれ以上のアクセス数が見込まれる場合は、サーバーにお金をかける、ミドルウェアのチューニングを行う(今回はデフォルト値のまま)、CDNを導入する、サーバーを2台構成にしてバランシングするなどで、より強力な構成が実現可能です。

ANNAIでは、Drupal構築のノウハウはもちろん、サーバー構築のノウハウも多くのナレッジを社内に貯めています。サーバーのレスポンスが遅いなどでお悩みの場合は、お気軽にご相談ください。

 

 

Drupalお役立ち資料ダウンロード