ホームページ >バックエンド開発 >PHPチュートリアル >Web サイトのパフォーマンス向上の鍵: PHP-FPM 最適化実践ガイド
Web サイトのパフォーマンス向上の鍵: PHP-FPM 最適化実践ガイド
インターネットの急速な発展に伴い、Web サイトの役割はますます重要になっています。 Web サイト運営者にとって、Web サイトのパフォーマンスを向上させることは、ユーザー エクスペリエンスを向上させるだけでなく、検索エンジンのランキングを向上させるためにも重要です。 PHP-FPM (FastCGI Process Manager) は、PHP 実行のプロセス マネージャーとして、Web サイトのパフォーマンスを向上させる上で重要な役割を果たします。この記事では、具体的なコード例を含む、PHP-FPM 最適化の実践的なガイドを提供します。
1. PHP-FPM のインストールと構成
まず、PHP がサーバーにインストールされていることを確認する必要があります。次のコマンドで確認できます:
php -v
PHP がインストールされていない場合は、次のコマンドを使用してインストールしてください (CentOS を例にします):
yum install php
インストールが完了したら、php.ini ファイルを変更し、PHP-FPM サポートを有効にする必要があります。次の 2 行のコードを見つけて変更します。
cgi.fix_pathinfo=0 ; FastCGI dynamic process spawning ; Set to 0 if you're not having permission errors when running PHP as a CGI. ; http://php.net/cgi.fix-pathinfo
コードの 1 行目を次のように変更します。
cgi.fix_pathinfo=1
コードの 2 行目を次のように変更します。
;cgi.fix_pathinfo=0
変更と再起動 変更を有効にするには、PHP-FPM サービスを開始します。
service php-fpm restart
2. PHP-FPM の構成パラメータを調整する
PHP-FPM を最適化する前に、まず PHP-FPM のいくつかの重要なパラメータを理解する必要があります:
サーバー構成と Web サイトのトラフィックに応じて、これらのパラメーターを適切に調整して、PHP-FPM のパフォーマンスを向上させることができます。たとえば、サーバー構成が低い場合は、pm.max_children を 20 などの小さい値に設定できます。 Web サイトへのアクセス数がそれほど多くない場合は、pm.min_spare_servers と pm.max_spare_servers を 5 などの小さい値に設定できます。
これらのパラメータは、php-fpm.conf ファイルを編集することで変更できます:
vi /etc/php-fpm.conf
変更する次のコード行を見つけます:
pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pm.max_requests = 500
変更を保存した後、再起動します。変更を有効にするための PHP-FPM サービス。
service php-fpm restart
3. PHP の OPcache 拡張機能を有効にする
OPcache は、PHP バージョン 5.5 以降に導入されたアクセラレータです。コンパイルされた PHP スクリプトをメモリにキャッシュして、繰り返しのコンパイル時間を短縮できます。 OPcache 拡張機能は、次の手順に従って有効にできます:
vi /etc/php.ini
;zend_extension = <path_to_opcache.so>
service php-fpm restart
4. PHP-FPM の Slow Log 機能をオンにする
PHP-FPM の Slow Log 機能は、実行時間が指定したしきい値を超えたリクエストをログ ファイルに記録できます。後で使用するための分析と最適化。次の手順で Slow Log 機能を有効にできます。
vi /etc/php-fpm.conf
;slowlog = /var/log/php-fpm/www-slow.log ;request_slowlog_timeout = 0
service php-fpm restart
5. Nginx などのリバース プロキシ サーバーを使用する
Nginx などのリバース プロキシ サーバーを使用すると、静的リソース リクエストを Nginx に転送して処理できるため、PHP-FPM の複雑さが軽減されます。ウェブサイトを読み込み、パフォーマンスを向上させます。
Nginx 構成ファイルでは、次のコードを通じて静的リソースのリクエストを Nginx に転送できます:
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ { proxy_pass http://yourdomain.com; proxy_set_header Host $host; }
上記のコードは、jpg、jpeg、png、gif、ico、css、 js 他のサフィックスに対するリクエストは、処理のために http://yourdomain.com に転送されます。
6. キャッシュ メカニズムを使用する
Web サイトのビジネス ロジックでは、キャッシュ メカニズムを使用してデータベース アクセスと動的ページの生成を削減し、Web サイトのパフォーマンスを向上させることができます。 。これは、Redis や Memcached などのキャッシュ テクノロジを使用して実現できます。
次のコード例で Redis キャッシュを使用できます:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $key = 'user_info_' . $user_id; if ($redis->exists($key)) { $user_info = $redis->get($key); } else { $user_info = getUserInfoFromDatabase($user_id); $redis->setex($key, 3600, $user_info); }
上記のコードでは、まずユーザー情報がキャッシュに存在するかどうかを確認します。存在する場合は、キャッシュから直接取得されます。 ; 存在しない場合はデータベースから取得します。 からユーザー情報を取得してキャッシュに保存し、有効期限を 3600 秒に設定します。
概要:
PHP-FPM を最適化することで、Web サイトのパフォーマンスを向上させ、ユーザー エクスペリエンスを向上させることができます。この記事では、PHP-FPM 最適化の実践的なガイドを提供し、参考として具体的なコード例を示します。実際のアプリケーションでは、最高のパフォーマンスを達成するために、特定のニーズに応じて調整および最適化することもできます。
以上がWeb サイトのパフォーマンス向上の鍵: PHP-FPM 最適化実践ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。