PHP-FPM を使用して Web アプリケーションのパフォーマンスを向上させる方法
Web アプリケーションの開発とユーザー数の増加に伴い、Web アプリケーションのパフォーマンスを向上させる方法Web アプリケーションは開発者にとって問題の 1 つとして注目されています。高性能 PHP プロセス マネージャーとして、PHP-FPM (FastCGI Process Manager) は Web アプリケーションのパフォーマンスを効果的に向上させることができます。この記事では、PHP-FPM を使用して Web アプリケーションのパフォーマンスを最適化する方法を紹介し、読者の理解と実践に役立つ具体的なコード例を示します。
1. PHP-FPM のインストールと設定方法
Linux システムでは、パッケージ マネージャーを介して PHP をインストールできます。 -FPM。たとえば、Debian/Ubuntu システムでは、次のコマンドを使用してインストールできます。
sudo apt-get install php-fpm
構成ファイルは /etc/ にあります。 php/7.4/fpm/php-fpm.conf (インストールバージョンとシステムによって異なります) は、必要に応じてカスタマイズできます。一般的な構成項目の一部を次に示します。
pm.max_children
: PHP-FPM が作成できる子プロセスの最大数を定義します。これはサーバーのハードウェアに基づいて決定できます。構成と同時アクセスをセットアップします。 pm.start_servers
: 起動時に作成される子プロセスの数を定義します。 pm.min_spare_servers
および pm.max_spare_servers
: アイドル状態の子プロセスの最小数と最大数を定義します。子プロセスの数が最小値を下回る場合、PHP-FPM は新しい子プロセスを自動的に作成します。子プロセスの数が最大値を超える場合、PHP-FPM は新しい子プロセスの作成を停止します。 pm.max_requests
: 各子プロセスによって処理されるリクエストの最大数を定義します。この数を超えると、子プロセスが再起動されます。 2. PHP-FPM を使用して Web アプリケーションのパフォーマンスを最適化する方法
調整によってpm。これらのパラメータ、max_children
、pm.start_servers
、pm.min_spare_servers
、pm.max_spare_servers
は、サーバーのハードウェアに応じて適切に設定できます。構成と同時アクセス量、プロセス数。適切なプロセス数を設定することで、サーバーリソースを最大限に活用し、Webアプリケーションの同時処理能力や応答速度を向上させることができます。
スロー ログを有効にすると、実行時間が事前に設定されたしきい値を超えたリクエストを記録して、後で分析および最適化することができます。構成ファイルに次の構成項目を追加します。
slowlog = /var/log/php-fpm/slow.log request_slowlog_timeout = 10s
PHP オペコード キャッシュは、解析およびコンパイルされた PHP コードをメモリに保存して、繰り返しのオーバーヘッドを削減します。解析とコンパイルにより、PHP の実行速度が向上します。一般的に使用される PHP Opcode キャッシュ ソフトウェアには、APC、OpCache などが含まれます。オペコードのキャッシュを有効にし、関連するパラメーターを PHP 構成ファイルで構成できます。以下はサンプル構成 (OpCache 用) です:
[opcache] opcache.enable = 1 opcache.memory_consumption = 128 opcache.interned_strings_buffer = 8 opcache.max_accelerated_files = 4000 opcache.revalidate_freq = 60 opcache.save_comments = 1
PHP には豊富な拡張ライブラリがあり、さらに改善することができます。 Web アプリケーションのパフォーマンス。たとえば、Redis 拡張ライブラリを使用して MySQL クエリを置き換えたり、Memcached 拡張ライブラリをキャッシュに使用したりできます。同時に、コードの論理構造を最適化してパフォーマンスのボトルネックや無効な計算を回避することも、Web アプリケーションのパフォーマンスを向上させる重要な手段です。
CDN (コンテンツ配信ネットワーク) を使用して静的リソースをキャッシュすると、Web アプリケーション サーバーの負荷が軽減され、ユーザーの応答速度が向上します。アクセス。同時に、負荷分散テクノロジーを使用すると、リクエストを複数のサーバーに均等に分散できるため、Web アプリケーションの同時処理能力と可用性が向上します。
3. コード例
以下は簡単な PHP-FPM 設定ファイルの例です:
[global] pid = /var/run/php-fpm.pid error_log = /var/log/php-fpm.log log_level = warning [www] listen = 127.0.0.1:9000 listen.allowed_clients = 127.0.0.1 user = www-data group = www-data pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 request_terminate_timeout = 100s
上記の設定では、PHP-FPM のリスニング アドレスを 9000 に設定します。ローカル IP ポートで、子プロセスの最大数を 10 に設定し、起動時に 2 つの子プロセスを作成します。アイドル状態の子プロセスの最小数は 1、アイドル状態の子プロセスの最大数は 3 で、リクエストがタイムアウトするとリクエストを終了します。
結論:
PHP-FPM を適切に構成し、コード構造を最適化することで、Web アプリケーションのパフォーマンスと同時処理能力を向上させることができます。 PHP オペコード キャッシュ、CDN、負荷分散、その他のテクノロジを使用すると、Web アプリケーションのパフォーマンスをさらに向上させることができます。この記事が、読者が PHP-FPM を理解し、Web アプリケーションのパフォーマンスを向上させるために使用するのに役立つことを願っています。
以上がPHP-FPM を使用して Web アプリケーションのパフォーマンスを向上させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。