【PHPパフォーマンス】モジュールモード5.6と、CGIモード7.1どちらが快適に利用できた?→モジュール5.6です。ベストは7.3モジュールかも

      2021/02/23   2499文字

【PHPパフォーマンス】モジュールモード5.6と、CGIモード7.1どちらが快適に利用できた

今回は、管理人がやってみた実験『PHP・モジュールモード5.6と、CGIモード7.1、どちらが快適でパフォーマンスが良い?』です。

利用しているサーバーの都合で、モジュール旧バージョンと(最新じゃないけど)CGI新バージョンの比較になりました。さっそく状況をみていきましょう。

WordPress 5.1 から、PHP5.6以下での警告が・ただし、管理人の環境ではモジュールモード5.6が最善だった

そんな感じで実験スタート。やるきっかけになった出来事は『WordPress 5.1 から、PHP5.6以下での警告が出るようになった』です。

このように、WP管理画面にPHPバージョン警告が出ています。この時点では特に問題なくサイトが動いていますが、将来的に『セキュリティ上の問題』『古いPHPバージョンだと、新しいWordPressが動かない』などの問題が発生する可能性があるので、なるべく新しくしたいところです。
しかし、管理人の環境では、そう簡単に変更できないという状況でした。


それが、lolipopレンタルサーバーのPHP7対応状況です。2017年の時点でPHP7.1には対応していたんですが、『2017年2月9日(木)以前にお申し込みのお客様はCGI版のみのご提供となります』というアナウンスがありました。
管理人はこれより前から利用していたので、『PHP7以上に上げたくても、CGIモードしかない(サーバー移設しないとダメって運営に言われた)』という状況でした。管理画面にも、7.1cgiまでしか出ませんでした。長期ユーザーがあまり優遇されないのはどうかと思いますが、チューニングでどうにかしますし、ペパボなんでまあokでしょう(笑)

PHPのモジュールモード・CGIモードとは?

レンタルサーバーなどでよく見ますが、PHPの実行の仕方に『モジュールモード・CGIモード』の2つがあります。

■CGIモード

CGI プログラムを別途起動して処理する方法です。セキュリティ上は良いらしいですが、別プロセスとして立ち上げるので『負荷が多くレスポンスが遅い』というような欠点があります。

■モジュールモード

Apache の拡張機能で直接処理する方法です。以前は、『共用サーバーでモジュールモードはセキュリティ上好ましくない』といわれていましたが、セーフモードなど対策されてきているようです。
CGIモードに比べてレスポンスに優れ、『負荷が高い・大量の処理を行う場合』などはパフォーマンスが高くなります

モジュールモード5.6と、CGIモード7.1でのPHPパフォーマンスチェック!モジュール5.6のほうが速い?!

ちょっと変更してみますか。PHPはバージョン5よりバージョン7のほうが速くなりますが、できるなら『7&モジュール』で使いたいところ。しかし、この記事を書いた時点では、まだモジュール7.3が使えなかったので、モジュールモード5.6と、CGIモード7.1で比べてみました。モジュール7.3対応開始まで、どっちで行くかを検討します。

モジュールモード5.6


googleページスピードインサイトでチェックしたところ、自動広告がないページ(広告が増えすぎると重くなる)では、『PC:99/SP:99』がでました。lolipopレンタルサーバーはエントリーユーザー向けっぽい雰囲気を出していますが、WordPress高速化チューニングはマジで難しかったです(笑)

CGIモード7.1


通常はPHP7のほうが速いはずなんですが、『モジュールとCGIの差』が出てしまったようです。スコアが少し低下しました
7といえども、キャッシュをクリアした状態だと『サイドバー&フッター読み込み時間がかかる』『管理画面が重い』みたいな状況に。キャッシュ系の設定は必須といえます。

管理人のlolipopレンタルサーバーだと、PHP7モジュールは使えるようになるの?


2年くらい待ちましたが(笑)、どうやら全サーバーでPHP7.3モジュールが使えるようになるそうです。これで表示スピードアップチューニングが難しいlolipopレンタルサーバーも、少しはラクになるかもしれません。

サーバー番号によって前後しますが、管理人の使っているサーバー番号だと『2019年11月』には利用できるとアナウンスされています。とりあえず7.1CGIでいって、モジュール追加タイミングで7.3に上げる形にする予定です。

あとがき・まとめ

  • WordPress 5.1 から、PHP5.6以下での警告がでるように。なるべく新しいバージョンが望ましい
  • lolipopレンタルサーバーの場合だと、昔から使っていたユーザーは、CGIモード7.1のPHPまでしか使えなかった
  • PHPはモジュールモードのほうが、一般的にレスポンスが速くて高負荷でのパフォーマンスが高い
  • PHPは一般的に5より7のほうが速いが、CGI7.1よりモジュールモード5.6が速かった
  • モジュール7.3がサーバーで利用可能であれば、変更したほうが良いかも

まとめるとこんな感じでしょうか。PHPのバージョンや、実行モードなども気にすると、理想的なパフォーマンスを得られると思います。特にWordPressなどは高機能化&構成ファイルが増えていたりするので、ご自身の状況に合わせて最適なもの選択していただければと思います。


【カテゴリ】 - webサイト高速表示
【タグ】 -

  関連記事

【PHPパフォーマンス】モジュールモード5.6と、CGIモード7.1どちらが快適に利用できた?→モジュール5.6です。ベストは7.3モジュールかも
【WPテーマを軽くカスタマイズ】プチ静的化して、データベースアクセスやPHPファイルをへらしつつ同じデザインで
【WordPressモバイル高速化】pagespeed insightsモバイルスコアが大きく低下→原因はgoogle、お前だ(アドセンス自動広告)
Googleがスマホ表示速度をランキング要因にすると発表・サイト制作者/ユーザーの対策は?
ページ高速表示~正規URLとリダイレクトで、速度スコアが10点近く違う件
【WPサイト高速表示】ロリポWPコンテンツキャッシュで、速度の変動があるようです(不安定)
【サイト表示速度】googleのスマホ向け速度チェックツールで、表示速度/秒数を計測
【ロリポwordpress高速表示でSP90超えろ】ロリポップサーバーで『コンテンツキャッシュ機能』提供開始・設定方法と効果のチェック
【wordpress限界高速化】Pjax技術を使ってサイトを高速表示するプラグインと、エラーの対処
【重くて邪魔】WordPressのblock-libraryのCSSを読み込まなくする方法(wp deregister script関数・functions.php)
CSSを限界圧縮してヘッダーに書くと、表示速度は速くなるの?(fc2ぶろぐで実験)
スマホページ高速表示のための、CSS圧縮方法まとめ