本文へ移動
STUDIO UMI
DRUPAL BLOGDrupalブログ

PHP 8.0 JIT の環境に Drupal 9.1 をインストールして、どのくらいパフォーマンスが向上するか計測してみた

Ohno Yutaro

こんにちは。Apple Silicon Mac mini 入手してそのスピードに喜んでいる大野です。私が開発に加わっていた京都大学様のサイト外部リンクが無事に公開できて一息つきました。フロントエンドのスピード感にもこだわって作っているので是非見てみてください。ちなみに Google Speed Insight のスコアは低いです(笑)

さて、今回は PHP 8.0 がついにリリースされ、それに Drupal もバージョン 9.1 で対応したので、どのくらい早くなるのか気になるので検証してみたいと思います。また、今回は Drupal Advent Calendar 2020外部リンク の記事として投稿します。

半年ほど前にDrupalの開発環境を仮想環境からリモートサーバーへ移行したら爆速になった話外部リンクと言う記事を書いたんですが、この環境を今も使い続けているので、これに PHP 8.0 と Drupal 9.1 を入れて検証します。Ubuntu 20.04 であればPHP 8.0 は Ondrej さんのプライベートリポジトリから普通に入れることができます。サポートに感謝!

TL;DR

  • Drupal 9.1 になってインストール速度が早くなった
  • PHP 8.0 JIT + Drupal 9.1 は20%位早くなった

Drupal 9.1 ではインストール時のパフォーマンスが20%向上した

Drupal 9.1.0 のリリースノート外部リンクには、「インストール時のパフォーマンスが20%向上した」と書かれているので、まずはその比較をしてみましょう。

次の動画は以前に PHP 7.3 + Drupal 8.8 の環境で、「プロフィールの選択ボタンを押してからサイトの詳細情報の入力画面が表示されるまで」を計測したものです。計測の結果としては約24秒でした。

では次に同じハードウェアスペックの環境で PHP 7.3 + Drupal 9.1 の組み合わせを計測してみましょう。

14秒!私の環境だと約70%向上しました。素晴らしい改善ですね。

JITとは?

PHP 8.0 の目玉機能として JIT (Just In Time) が実装されました。ググっていただけば詳しい記事がたくさん出てくるのでここでは割愛しますが、簡単に言うと「プログラムの実行時にコンパイルを行ってネイティブコードを生成する」機能のことです。これまでPHPのようなスクリプト言語は、C言語のようなコンパイルして実行する言語には速度面では絶対に敵わなかったのですが、このJITが搭載されたことによりコンパイル型言語に匹敵するスピードが出るようになりました。つまりメッチャ早くなったと言うことです。ただし、Drupal や WordPress のようなWebアプリケーションは、他のものがボトルネックになることが多く、そこまでのスピードの向上は見込めないとのこと。また 9.1 のリリースノートにも but the JIT compiler and performance improvements are not likely to affect Drupal.と書かれているので、過剰な期待はせずに計測します。

まずは JIT が無効な状態の PHP 8.0 + Drupal 9.1 で計測して、PHP 7.4 からどの位速度が向上したか見てみましょう。

13秒。正確な計測をしてないので誤差の範疇かもしれませんが PHP 7.4 からも着実に早くなっているようです。

最後に JIT を有効にした状態の PHP 8.0 + Druapl 9.1 で計測してみましょう。

11秒!20%程早くなりました。確かに効果はあるようです。プラシーボ効果かもしれませんが、管理画面を操作してみても以前より軽快に動作するような感じがします。

まとめ

いかがでしたでしょうか?PHP 8.0 JIT の環境ではさらなるスピードアップが期待できそうです。Drupal 9.1 のコアは PHP 8.0 に対応しましたが、コントリビュートモジュールは対応できてない可能性があります。今の段階では本番の環境で PHP 8.0 を選択するのはリスキーなので、なかなか手が出しづらいと思いますが、あと1年もしたら普通に使うことができるようになっているでしょう。早くPHP 8.0 がスタンダードな時代になることを願います。

ちなみに環境によっては Drupal のインストール時に英語以外の言語を選択すると、リダイレクトループする不具合があるようですのでご注意を。私は Drupal.org に上がっていたパッチをあてて対応しました。

スタジオ・ウミは15年以上の実績を誇るDrupal専門の開発会社です。豊富な知見とノウハウでDrupalサイトの開発や技術サポートなどDrupal関連サービスをワンストップでご提供します。

RECRUIT

新たなステージを共に歩んでいける
コアメンバーを募集しています

採用情報

CONTACT

お仕事のご相談やお見積依頼など、
お気軽にお問い合わせください。

お問い合わせ