【PHPパフォーマンス】モジュールモード5.6と、CGIモード7.1どちらが快適に利用できた?→モジュール5.6です。ベストは7.3モジュールかも
| 更新: 2024/02/12 | 2499文字
今回は、管理人がやってみた実験『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でしょう(笑)
■2017/02/09 『PHP7.1』に対応いたしました(lolipopレンタルサーバー公式サイトより)
https://lolipop.jp/info/news/5597/
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などは高機能化&構成ファイルが増えていたりするので、ご自身の状況に合わせて最適なもの選択していただければと思います。