PHP-FPM を使用して Web アプリケーションのパフォーマンスを向上させる方法

王林
リリース: 2023-10-05 11:00:01
オリジナル
841 人が閲覧しました

PHP-FPM を使用して Web アプリケーションのパフォーマンスを向上させる方法

PHP-FPM を使用して Web アプリケーションのパフォーマンスを向上させる方法

Web アプリケーションの開発とユーザー数の増加に伴い、Web アプリケーションのパフォーマンスを向上させる方法Web アプリケーションは開発者にとって問題の 1 つとして注目されています。高性能 PHP プロセス マネージャーとして、PHP-FPM (FastCGI Process Manager) は Web アプリケーションのパフォーマンスを効果的に向上させることができます。この記事では、PHP-FPM を使用して Web アプリケーションのパフォーマンスを最適化する方法を紹介し、読者の理解と実践に役立つ具体的なコード例を示します。

1. PHP-FPM のインストールと設定方法

  1. PHP-FPM のインストール

Linux システムでは、パッケージ マネージャーを介して PHP をインストールできます。 -FPM。たとえば、Debian/Ubuntu システムでは、次のコマンドを使用してインストールできます。

sudo apt-get install php-fpm
ログイン後にコピー
  1. Configure 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 アプリケーションのパフォーマンスを最適化する方法

  1. 正しいプロセス数を設定します

調整によってpm。これらのパラメータ、max_childrenpm.start_serverspm.min_spare_serverspm.max_spare_servers は、サーバーのハードウェアに応じて適切に設定できます。構成と同時アクセス量、プロセス数。適切なプロセス数を設定することで、サーバーリソースを最大限に活用し、Webアプリケーションの同時処理能力や応答速度を向上させることができます。

  1. スロー ログを有効にする

スロー ログを有効にすると、実行時間が事前に設定されたしきい値を超えたリクエストを記録して、後で分析および最適化することができます。構成ファイルに次の構成項目を追加します。

slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 10s
ログイン後にコピー
  1. PHP オペコード キャッシュを使用する

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
ログイン後にコピー
  1. PHP を使用してコード ロジックを拡張または最適化します

PHP には豊富な拡張ライブラリがあり、さらに改善することができます。 Web アプリケーションのパフォーマンス。たとえば、Redis 拡張ライブラリを使用して MySQL クエリを置き換えたり、Memcached 拡張ライブラリをキャッシュに使用したりできます。同時に、コードの論理構造を最適化してパフォーマンスのボトルネックや無効な計算を回避することも、Web アプリケーションのパフォーマンスを向上させる重要な手段です。

  1. CDN と負荷分散の使用

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート