目次
PHPを利用する場合、Webサーバとして、Apacheがいいのか、Nginxがいいのか、LiteSpeedがいいのかの比較をしてみたいと思います。
PHPを動かすWebサーバは、LiteSpeedが軽くてよさそうです。
ただし、まだ新しい技術なので、情報も少ないです。Enterprise版でないと使えない機能もあります。
一番お手軽なのは、Apache(prefork) + mod_phpですが、
サービス向けでは、メモリー効率を考えると、Apache(event) + php-fpm か、Nginx + PHP-FPMがいいです。
パフォーマンスに困った時に、LiteSpeedでいいかと思います。
共有サーバでのセキュリティの問題を解決するための仕組みで、例えば、同一サーバの他のユーザが自ユーザのファイルを参照できないようにすることができます。
CGIが、リクエスト毎に1つの新しいプロセスで処理しますが、FastCGI サーバがプロセスを永続化し高速化します。
phpinfo()で、確認できます。
Server API欄を確認して、Apache 2.0 Handlerとなっていればモジュール版です。
Sever API欄がCGI/FastCGIとなっていればCGI版です。
phpinfo.php
<?php phpinfo(); ?>
Apacheの場合、phpモジュール(mod_php)を利用するのが一般的です。
すぐに利用できます。
メモリ使用量を大きく減らす。
同時接続数増加時のパフォーマンス劣化も抑えられる
Apacheの場合、少し前は、共用のレンタルサーバでは、セキュリティーの関係で、CGI版が使われることが多かったです。
Nginxの場合、PHP-FPM(PHP-FastCGI Process Manager)を利用するのが一般的です。
FastCGI サーバがプロセスを永続化し高速化します。
NginxのプロセスとPHP-FPMのプロセスを動かす必要があります。
--> Nginx --> PHP-FPM --> PHP
PHPを動かく環境で、Apache + mod_phpとNginx PHP-FPMがいいか悩んでいたら、LiteSpeedが圧倒的に早くて軽いそうです。
PHPも最適化されたものを使われます。
https://www.php.net/manual/ja/install.unix.litespeed.php
LiteSpeed PHP は、LiteSpeed SAPI を通じて LiteSpeed プロダクトと動作させるための 最適化された PHP ビルドです。
There was a little improvement on performance in Nginx than Apache but it was not a major difference where it's worth to change all my server architecture from Apache to Nginx. And when I observe the server resource utilization also I didn't find much of difference between Nginx and Apache
NginxのパフォーマンスはApacheよりも少し改善されましたが、すべてのサーバーアーキテクチャをApacheからNginxに変更する価値があるという大きな違いはありませんでした。 また、サーバーリソースの使用率を観察したところ、NginxとApacheの間に大きな違いは見られませんでした。
There was a little improvement on performance in Nginx than Apache but it was not a major difference where it's worth to change all my server architecture from Apache to Nginx. And when I observe the server resource utilization also I didn't find much of difference between Nginx and Apache
これについてもう少し調査したところ、Nginxは静的リソースでうまく機能し、php-fpmなどの外部アプリケーションを使用して実行する必要があるphp処理などの他の動的コンテンツ配信ではうまく機能しないことがわかりました。 したがって、WebアプリケーションのPHP処理でパフォーマンスのボトルネックがある場合、ApacheをNginxに置き換えることは解決策にはなりません。
LITESPEED公式の比較です。
https://www.litespeedtech.com/benchmarks/php-hello-world
Part of the difference in speeds is due to different server APIs. LiteSpeed Enterprise used LSAPI, PHP-FPM uses FCGI, EA4 Default uses CGI.
EA4は、cPanelから利用できるeasyapache 4のことです。CGI版と記載があります。
Apache + mod_PHPの記載がないのが残念です。
一般向けサイト
ITエンジニア向けサイト
英語サイト
Portfolio
Copyright (c) 2024 システムパフォーマンス入門 All Rights Reserved.