PHPは、最も使用されているサーバーサイドプログラミング言語の1つであり、現在稼働中の全サイトの約76%で使用されています。Kinstaでは、毎年さまざまなPHPフレームワークのパフォーマンスベンチマークを行い、各PHPバージョンの性能を比較しています。

2023年12月は、PHP 8.1、8.2、8.3を11種類のコンテンツ管理システム(CMS)とフレームワーク(WordPressWooCommerceDrupal 7および10JoomlaLaravelSymfonyCodeIgniterCraft CMS、Typo3、OpencartStamic)を使ってベンチマークを行いました。また、WordPressとWooCommerceでは、PHP 7.4も使用しています。

PHPは、パフォーマンスとセキュリティの最適化を考慮し、常に最新バージョンを使用するのがベストプラクティスです。

PHPベンチマーク

CMSやフレームワークが、最近のPHPバージョンでどのようなパフォーマンスを発揮するかを評価するために、ベンチマークテストを実施。一貫性を確保するため、すべてのCMSまたはフレームワークで同じマシンとパラメータを使用します。

条件は以下の通りです。

  • マシン─Intel Cascade Lake(30コアCPU)@3.10GHz、120GB RAM、1TB HDD、Google Cloud Platformで動作し、隔離されたコンテナで実行されるコンピューティング最適化(C2)仮想マシン
  • OS─Ubuntu 20.04.6 LTS(Focal Fossa)
  • CMSとフレームワーク─デフォルトセットアップ(DDEV v1.22.5 amd64--webserver-typeイメージバージョン1.22.0に基づいたnginx-fpmにインストール)
  • PHPバージョン─7.4.33、8.1.26、8.2.13、8.3.0
  • データベースddev-dbserver-mariadb-10.4
  • ツールab(ApacheのHTTPサーバーベンチマークツール)
    • 同時実行数:15件
    • リクエスト数:セッションあたり1000件
  • 結果─1秒あたりのリクエスト数(req/s)で取得。数値が高いほどレスポンスが速いことを意味する。

CMSとフレームワーク

PHPは、フレームワークとCMSの豊富なライブラリで知られています。ベンチマークを行うCMSおよびフレームワークは、以下の項目を考慮して選別しています。

  • 人気度
  • 稼働中のサイト数
  • 市場での立ち位置
  • 利用傾向
  • 検索ボリューム(米国)

例えば、WordPressはCMS市場全体の62%を占め、3,400万以上のサイトで使用されており、現在も利用者数は急増しています。

Statamicはまだ市場シェアが低く、稼働しているサイトも1万ほどではありますが、その急成長と人気の高まりから注目に値します。

また、Symfonyはここ数年、過去の成長率と比較すればその人気こそ落ちていますが、依然として多くのサイトを動かし、毎月の検索ボリュームもなかなかのものです。

その他のフレームワークも、同じような基準を満たしています。それでは以下、それぞれのベンチマーク結果を見ていきましょう。

WordPress

WordPressはオープンソースのCMSで、プログラミング知識がなくてもサイトの重要部を簡単に管理できます。インストールやメンテナンスにコーディングは不要で、初心者でも安心。開発者でなくてもサイトやブログ、オンラインストアを開設できるのが大きな魅力です。

WordPressは、稼働中のすべてのサイトの42%以上を支えており、これは主要CMSの62%に相当するシェアです。

オープンソースのWordPressエコシステムは、堅牢で柔軟性があり、信頼性の高いプラットフォームでアプリを開発したい経験豊富な開発者にも支持されています。

また、ReactVue.jsなどのモダンフロントエンドフレームワークで構築された、アプリケーションのヘッドレスバックエンドCMSとしても広く使用されています。WordPressのコンテンツ管理機能は、Gatsby、Hugo、VuePress、Next.jsのような静的サイトジェネレーターでも使用可能です。

WordPressサイト全体の静的バージョンを作成することで、セキュリティを高め、パフォーマンスを高めることも。このような時代に合わせたアプローチが、訪問者を惹きつける動的で洗練されたウェブアプリケーションの構築を後押ししています。

WordPressのベンチマーク

  • バージョン─WordPress 6.4.2および6.2.2.
  • URL/
  • サイズ─84,257,000バイト(WordPress 6.4.2)、52,684,000バイト(WordPress 6.2.2)
  • 結果(WordPress 6.4.2)
    • PHP 7.4:149 res/s
    • PHP 8.1:153 req/s
    • PHP 8.2:158 req/s
    • PHP 8.3:169 req/s
  • 結果(WordPress 6.2.2)
    • PHP 7.4:147 res/s
    • PHP 8.1:151 req/s
    • PHP 8.2:153 req/s
    • PHP 8.3:165 req/s
PHP 7.4、8.1、8.2、8.3を使ったWordPress 6.4.2および6.2.2のパフォーマンス(リクエスト/秒)
PHP 7.4、8.1、8.2、8.3を使ったWordPress 6.4.2および6.2.2のパフォーマンス(リクエスト/秒)

WordPressは、PHPのバージョンが新しいほどパフォーマンスが向上しています。WordPressサイトのセキュリティとパフォーマンスを重視するなら、PHP8.3に変更するのが良さそうです。

また、WordPress 6.4.2でも、PHP 8.3が他すべてのバージョンを上回る結果に。6.2.2同様、バージョンが新しい方がより優れたパフォーマンスを発揮し、PHP 8.2から8.3への改善率も約7%と、WordPress 6.2.2とほぼ同じでした。

WordPressをフル活用するためには、サイトを高速化する方法を学びましょう。WordPressで優れたパフォーマンスを実現するには、ホスティング選びが重要です。Kinstaでは、トップクラスの速度とセキュリティを実現するマネージドWordPressホスティングサービスを提供しており、WordPressサイト管理の負担を軽減します。

WooCommerce

WooCommerceは、世界で最も使用されているECプラグインで、長期的に成功するビジネスを確立するのに役立ちます。インターネット上のECサイトの20%近くで使用されており、カスタマイズ可能かつオープンソース、そしてWordPress上に構築されています。WooCommerceを使用すれば、安全で信頼性に優れたECインフラを手にすることができます。さらにショップの管理には、WordPressのプラグイン、WP-CLI、フック、フィルター、REST APIエンドポイントも使用可能です。

WooCommerceのベンチマーク

  • バージョン─WordPress 6.2.2上でWooCommerce 7.9.0を使用
  • URL/product/product/
  • サイズ─5,747万0,000バイト
  • 結果
    • PHP 7.4:48 res/s
    • PHP 8.1:49 req/s
    • PHP 8.2:49 req/s
    • PHP 8.3:58 req/s
PHP 7.4、8.1、8.2、8.3を使ったWordPress 6.2.2上のWooCommerce 7.9.0のパフォーマンス(リクエスト/秒)
PHP 7.4、8.1、8.2、8.3を使ったWordPress 6.2.2上のWooCommerce 7.9.0のパフォーマンス(リクエスト/秒)

WooCommerceストアが古いバージョンのPHPで動作している場合は、今すぐPHP 8.3にアップグレードして、パフォーマンス改善を行いましょう。

Laravel

オープンソースのPHPフレームワークであるLaravelは、最新のPHPウェブアプリケーションを構築するための機能とリソースを揃えています。コマンドラインインターフェース(Artisan)、ネイティブ認証、MVC(モデル、ビュー、コントローラー)アーキテクチャパターンなど、その多機能性によって多くの支持を集めています。

Laravelのベンチマーク

  • バージョン─Laravel 10.16.1
  • URL/
  • サイズ─27,514,000バイト
  • 結果
    • PHP 8.1:611 req/s
    • PHP 8.2:670 req/s
    • PHP 8.3:925 req/s
PHP 8.1、8.2、8.3を使ったLaravel 10.16.1のパフォーマンス(リクエスト/秒)
PHP 8.1、8.2、8.3を使ったLaravel 10.16.1のパフォーマンス(リクエスト/秒)

Laravelでも、PHP 8.1から8.2にアップグレードすると、パフォーマンスが大幅に向上しています。そしてPHP 8.3では、8.2と比べてさらに38%改善。PHP 8.3にアップグレードしない手はありません。

Drupal

Drupalは、簡単なコンテンツオーサリング、信頼性の高いパフォーマンス、優れたセキュリティ、柔軟性、モジュール性といった優れた標準機能を備えた、強力でスケーラブルなCMS。動的なウェブ体験が必要になる多用途で構造化されたコンテンツの構築を支援してくれます。

多数あるアドオンを使って拡張もできるため、統合されたデジタルフレームワークの構築に理想的です。Drupalは、すぐにサイトを作成できるシステムというよりも、CMS開発プラットフォームといった印象です。

2011年にリリースされ最も使用されているバージョンとして現在もサポートされているDrupal 7、および最新(かつ最も改善点の多い)バージョンであるDrupal 10の2つでベンチマークを実施しました。

なお、Drupal 7は2023年12月でサポート終了予定でしたが、ユーザーの移行期間を考慮し、2025年1月までサポートが延長されています。

Drupalのベンチマーク

  • バージョン─Drupal 10.1.1と7.98
  • URL/
  • サイズ─19,102,000バイト(Drupal 10)、8,075,000バイト(Drupal 7)
  • 結果(Drupal 10)
    • PHP 8.1:922 req/s
    • PHP 8.2:941 req/s
    • PHP 8.3:1432 req/s
  • 結果(Drupal 7)
    • PHP 8.1:661 req/s
    • PHP 8.2:753 req/s
    • PHP 8.3:823 req/s
PHP 8.1、8.2、8.3を使ったDrupal 7.98とDrupal 10.1.1のパフォーマンス(リクエスト/秒)
PHP 8.1、8.2、8.3を使ったDrupal 7.98とDrupal 10.1.1のパフォーマンス(リクエスト/秒)

まだ古いバージョンのDrupalをお使いの場合は、新機能と改善点の恩恵を享受するだけでなく、パフォーマンスとセキュリティも考慮してアップデートを検討してください。特にDrupal 8、9、10間の変更はシームレスであるため、最終的なDrupal 10へのアップグレードに向けて、まずは7から8に変更する価値はあります。

また、Drupalも7から10にアップグレードすることでパフォーマンスが劇的に改善されるのは明らかです。Drupal 10でPHP 8.3を使用すれば、訪問者に最高のユーザー体験を提供できます。

Joomla

Joomlaは、MVCウェブアプリケーションフレームワーク上に構築された、人気のオープンソースCMSです。大規模な拡張ライブラリにより、スケーリングやカスタマイズが簡単な柔軟性の高いシステムが特徴です。組み込みの検索最適化機能や、脆弱性が検出されると、すぐにセキュリティパッチがリリースされる点は高い評価を受けています。

Joomlaのベンチマーク

  • バージョン─Joomla 4.3.3
  • URL/
  • サイズ─8,111,000バイト
  • 結果
    • PHP 8.1:274 req/s
    • PHP 8.2:265 req/s
    • PHP 8.3:341 req/s
PHP 8.1、8.2、8.3を使ったJoomla 4.3.3のパフォーマンス(リクエスト/秒)
PHP 8.1、8.2、8.3を使ったJoomla 4.3.3のパフォーマンス(リクエスト/秒)

Joomlaでは、PHP 8.1と8.2のベンチマークには大きな差はありませんが、PHP 8.3では30%近い改善が見られます。Joomlaをお使いの方は、PHP 8.3にアップグレードすることをお勧めします。

Symfony

Symfonyは高度なアプリケーションを構築できる、機能豊富で柔軟なバックエンドフレームワークです。MVCアーキテクチャで、複数の環境のサポートと堅牢なキャッシュシステムを含む、体系的でスケーラブルなPHPウェブアプリケーション開発に特化したツール群が揃っています。

オープンソースコミュニティの間で人気があり、コンポーネントやバンドルも非常に充実しています。長期的なビジネスゴール実現と、オーディエンス獲得を目指すサイトにとって素晴らしい選択肢です。

Symfonyのベンチマーク

  • バージョン─Symfony 6.3.0.
  • URL/
  • サイズ─559,000 バイト
  • 結果
    • PHP 8.1:931 req/s
    • PHP 8.2:997 req/s
    • PHP 8.3:1182 req/s
PHP 8.1、8.2、8.3を使ったSymfony 6.3.0のパフォーマンス(リクエスト/秒)
PHP 8.1、8.2、8.3を使ったSymfony 6.3.0のパフォーマンス(リクエスト/秒)

Symfonyはデフォルトで高速なフレームワークですが、PHP 8.1と8.2では同じようなパフォーマンスだったのに対し、PHP 8.3では大きな改善が見られます。

CodeIgniter

CodeIgniterは、シンプルなツール群で、機能的なウェブアプリケーションを構築したい開発者向けのPHPフレームワークです。シンプルさを追求し、MVCアーキテクチャが採用されています。コアシステムは、いくつかの小さなライブラリのみしか必要とせず、消費リソースは最小限。デフォルトのランディングページは、テストしたすべてのプラットフォームとフレームワークの中で最も優れています。小さな規模から超高速に開発を始めて、必要なものを必要なだけ拡張していくことができる画期的な選択肢です。

CodeIgniterのベンチマーク

  • バージョン─CodeIgniter 4.3.6
  • URL/
  • サイズ─17,776,993バイト
  • 結果
    • PHP 8.1:1120 req/s
    • PHP 8.2:1180 req/s
    • PHP 8.3:1684 req/s
CodeIgniter 4.3.6 performance on PHP 8.1, 8.2, and 8.3 (in requests/second).
PHP 8.1、8.2、8.3におけるCodeIgniter 4.3.6のパフォーマンス(単位:リクエスト/秒)

PHP 8.1と8.2のパフォーマンスはほぼ同じですが、8.2の方がわずかに速くなり、8.3では42%のパフォーマンス改善が見られます。

Craft CMS

Craft CMSは、マーケティングおよびECサイトを構築することに特化したオープンソースのプラットフォームです。Craft CMSの理念は、コンテンツに応じたCMSを形成すること。直感的なユーザーインターフェースと完全カスタマイズ可能なバックエンドを搭載したCraft CMSでは、コンテンツ制作により多くの時間を充て、サイト構築の手間を抑えることができます。

Craft CMSのベンチマーク

  • バージョン─Craft 4.4.16.1
  • URL/
  • サイズ─6,594,000バイト
  • 結果
    • PHP 8.1:358 req/s
    • PHP 8.2:354 req/s
    • PHP 8.3:443 req/s
PHP 8.1、8.2、8.3を使ったCraft CMS 4.4.16.1のパフォーマンス(リクエスト/秒)
PHP 8.1、8.2、8.3を使ったCraft CMS 4.4.16.1のパフォーマンス(リクエスト/秒)

PHP 8.1と8.2のパフォーマンスはほぼ同じですが、PHP 8.3ではパフォーマンスが約25%向上されています。

OpenCart

OpenCartは、オープンソースのECプラットフォーム。1つのバックエンドから1つまたは複数のオンラインストアを管理することができます。ユーザーフレンドリーなインターフェースで、管理者とエンドユーザーのどちらも容易にナビゲーションできます。最小限の労力でオンラインストアを構築した後は、拡張機能を使ってカスタマイズすることも。

OpenCartのベンチマーク

  • バージョン─OpenCart 4.0.2.2
  • URL/
  • サイズ─33,014,000バイト
  • 結果
    • PHP 8.1:151 req/s
    • PHP 8.2:154 req/s
    • PHP 8.3:164 req/s
PHP 8.1、8.2、8.3を使ったOpenCart 4.0.2.2のパフォーマンス (リクエスト/秒)
PHP 8.1、8.2、8.3を使ったOpenCart 4.0.2.2のパフォーマンス (リクエスト/秒)

PHP 8.1でもスムーズに動作しますが、8.2の方がわずかに速度が上がり、8.3ではさらに高速になりました。

Statamic

Statamicは、Laravel上に構築されたオープンソースのCMSです。非常に柔軟性の高いフレームワークで、コンテンツ、テンプレート、アセット、設定をデータベースの代わりにファイルに保存できるため、バージョン管理が容易です。要件に応じて柔軟に開発作業を進めることができます。データベースにコンテンツがあれば、データベースに接続することも可能で、静的サイトにエクスポートし、フロントエンドのLaravelやPHPを削除することもできます。

Statamicのベンチマーク

  • バージョン─Statamic 4.13.2
  • URL/
  • サイズ─7,233,000バイト
  • 結果
    • PHP 8.1:58 req/s
    • PHP 8.2:64 req/s
    • PHP 8.3:72 req/s
PHP 8.1、8.2、8.3を使ったStatamic 4.13.2のパフォーマンス(リクエスト/秒)
PHP 8.1、8.2、8.3を使ったStatamic 4.13.2のパフォーマンス(リクエスト/秒)

Statamicのパフォーマンスは、PHPのマイナーバージョンアップごとに向上します。PHP 8.2では、8.1と比べて約10%、8.3にアップグレードすると、さらに約12%改善されました。

なお、今回はStatamicをデフォルト設定でインストールし、テストしています。本番モードで実行する場合は、これ以上のパフォーマンスの向上が期待できます。

Typo3

Typo3は多層システムで構築されたオープンソースのCMSで、コンテンツ、ユーザー権限とアクセス、コンテンツ編集、ファイル管理など、データベースに記録されたデータにアクセスするためのAPIを提供します。プラグイン、バックエンドモジュール、スキン、サードパーティアプリで拡張でき、大規模サイトにも対応する堅牢で信頼性の高いシステムです。

Typo3のベンチマーク

  • バージョン─Typo3 12.4.4
  • URL/
  • サイズ─2,085,000バイト
  • 結果
    • PHP 8.1:509 req/s
    • PHP 8.2:461 req/s
    • PHP 8.3:598 req/s
PHP 8.1、8.2、8.3を使ったTypo3 12.4.4のパフォーマンス(リクエスト/秒)
PHP 8.1、8.2、8.3を使ったTypo3 12.4.4のパフォーマンス(リクエスト/秒)

Typo3では、PHP 8.2よりもPHP 8.1の方がわずかに高速になり、PHP 8.3では顕著な改善が見られます。卓越したパフォーマンスとセキュリティの向上を考慮すれば、PHP 8.3に変更するのが賢明です。

PHPの歴史

PHPは、1994年にRasmus Lerdorf氏によって開発され、1995年に一般公開されました。データベースとの連携のしやすさから人気を博し、その後は徐々にオブジェクト指向のプログラミングパターンを採用。再利用性と保守性を重視した、柔軟で堅牢なモジュール型言語へと進化を遂げています。

広範なライブラリとフレームワークのエコシステムが、 その人気と開発しやすさを後押し。セキュリティと機能も継続的に強化され、インテリジェントで動的かつ複雑なウェブアプリケーションを構築する上で間違いない選択肢となっています。

2015年12月にリリースされたPHP 7は、パフォーマンスが大幅に改善され、PHP史上最速かつ効率的なメジャーバージョンに。その後の8.08.18.2では、数々の新機能と最適化がもたらされ、一貫性とパフォーマンスにさらに磨きがかかりました。

そして、2023年11月にリリースされたPHP 8.3では、新たな関数の導入readonlyクラスの改善、Randomizerクラスの追加、スタックオーバーフローの検出、パフォーマンスの向上などが行われています。

PHPの使用統計

PHPは、依然としてウェブアプリケーションの主要プログラミング言語であり、サーバーサイドスクリプトを使用するサイトの76%以上を支えています。

サーバーサイドで動作するウェブアプリケーションの分布(出典: W3Techs)
サーバーサイドで動作するウェブアプリケーションの分布(出典: W3Techs

サーバーサイドプログラミング言語市場での立ち位置を見ると、トラフィックの多いサイトでは、JavaScriptが最も使用されていますが、サイト数ではPHPが圧倒しています。

サーバーサイドプログラミング言語の市場での立ち位置(出典: W3Techs)
サーバーサイドプログラミング言語の市場での立ち位置(出典: W3Techs

PHPを使用する有名サイトの代表例は以下のとおり。

  • Facebook.com
  • Microsoft.com
  • Wikipedia.org
  • WordPress.org
  • Vimeo.com
  • MSN.com
  • WordPress.com
  • Mozilla.org

PHPはその堅牢な構造、一貫性、保守性、柔軟性により、長年にわたって業界を牽引しています。

プログラミング言語の使用状況(出典: W3Techs)
プログラミング言語の使用状況(出典: W3Techs

開発チームが定期的に更新や改良を行なっているとはいえ、最新バージョンへのアップグレードを懸念するユーザーも。しかしこれは間違いで、どのようなアプリケーションでも、最新の安定版が最も安全です。

PHP 8.0がリリースされた際、多くのユーザーがアップグレードを行うのを躊躇し、また多くのホスティング会社も新たなバージョンに対応するのを怠っていました。

その結果、現在でも最も使用されているバージョンはPHP 7.4という現状で、およそ40%のサイトで使われています。

PHPのバージョン別使用状況
PHPのバージョン別使用状況

古いバージョンのPHPを使用している場合は、エラーをできる限り回避するため、まずマイナーバージョンからマイナーバージョンへと段階的にアップグレードし、その間に必要な調整を行うようにしてください。例えば、7.4からいきなり8.3に変更するのでくはなく、まずは一度8.0にアップグレードし、調整とテストを行います。その後、8.1に変更して調整とテストを行い、8.2、そして8.3にアップグレードします。

まとめ

結論として、今回ベンチマークを行ったCMSやフレームワークのすべてで、新しいPHPバージョンを使用することでパフォーマンスが改善されることがわかりました。したがって、技術スタックはできる限り最新バージョンで選択するのが得策です。

PHP 7.4、8.1、8.2、8.3を使った各CMSとフレームワークのパフォーマンス(リクエスト/秒)
PHP 7.4、8.1、8.2、8.3を使った各CMSとフレームワークのパフォーマンス(リクエスト/秒)

PHP 8.3は特に優れたバージョンで、新機能や更新に加え、各CMSやフレームワークのパフォーマンスを最大52.20%も改善しています。これまでテストした中で最も高速です。

PHP 8.2と比較したPHP 8.3のパフォーマンス改善率(%)
PHP 8.2と比較したPHP 8.3のパフォーマンス改善率(%)

PHP 8.2から8.3への移行方法については、公式ドキュメントをご覧ください。

サイトやアプリケーションのパフォーマンスは、ホスティング選びにかかっています。アプリケーションの最適化に多額の投資を行っても、サーバーがボトルネックになってしまえば元も子もありません。

ここぞというときにトラフィックの急増に対応できないと、どんなに手頃に利用できても意味がありません。せっかく美しいサイトを作り上げても、多くの人がアクセスできなければ本末転倒。

Kinstaは、信頼性と拡張性に優れたホスティングサービスを提供しており、一箇所ですべてのプロジェクをホスト・管理することができます。

  • WordPressサイトとWooCommerceストア─世界トップクラスのマネージドWordPressホスティングをご用意しています。すべてのプランにステージング環境、リダイレクト、自動バックアップ、SSL、簡単PHPバージョン切り替え、WP-CLI、SSH、Git、パフォーマンス監視ツール、ionCube Loader、ワンクリックの複製機能などが付帯。スケーラブルなサーバーリソース、強固なセキュリティ、24時間年中無休のカスタマーサポートも強みです。
  • アプリケーションデータベース─外部の開発ツールを使用せず、GitHub、Bitbucket、またはGitLabのリポジトリから直接デプロイ可能です。また、行数制限やクエリ制限はなし。内部トラフィックに対する費用は発生せず、永続ストレージや内部接続データベースにデータを保存できます。ウェブターミナル経由でアプリにアクセスし、cronジョブを好きなだけ実行。すべてがKubernetesで動作し、必要に応じてオートスケーリングも可能です。
  • 静的サイト─手動または静的サイトジェネレーターを使って、静的サイトまたはJamstackサイトを作成し、ビルドプロセスを実行して、エッジに直接デプロイ可能です。最高の速度とセキュリティをお楽しみください。完全無料でご利用いただけます。

Google Cloud Platformのプレミアムティアネットワークと最速マシンで構築されたインフラストラクチャにプロジェクトをデプロイ。またKinstaは、セキュリティに対するコミットメントを証明するSOC2報告書を受領しています。隔離されたコンテナ技術、2つの強力なファイアウォール、および高度なCloudflareのDDoS対策により、セキュリティを最大限に強化。さらにアプリを統合したり、ワークフローを自動化したりするための、Kinsta APIもご用意しています。

Kinstaのホスティングサービスをぜひ一度お試しください。

Marcia Ramos Kinsta

Kinstaのエディトリアルチームリード。大のオープンソース&コーディング好き。IT業界向けのテクニカルライティングと編集に7年以上携わり、的確かつ簡潔なコンテンツを制作しながら、チームで協力し合い、ワークフローの改善を行っている。