ホームページ バックエンド開発 PHPチュートリアル Web サイトのパフォーマンス向上の鍵: PHP-FPM 最適化実践ガイド

Web サイトのパフォーマンス向上の鍵: PHP-FPM 最適化実践ガイド

Oct 05, 2023 am 09:28 AM
ウェブサイトのパフォーマンス 実践ガイド php-fpmの最適化

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 のいくつかの重要なパラメータを理解する必要があります:

  • pm.max_children: プロセスの最大数を指定します。これは、PHP-FPM が作成できる PHP プロセスの最大数です。この値を超えると、新しい接続はキューに入れられます。
  • pm.start_servers: 起動時に作成される PHP プロセスの数を指定します。
  • pm.min_spare_servers: PHP-FPM が維持する必要があるアイドル プロセスの最小数を指定します。
  • pm.max_spare_servers: PHP-FPM が維持する必要があるアイドル プロセスの最大数を指定します。
  • pm.max_requests: 各 PHP プロセスによって処理されるリクエストの最大数を指定します。この値を超えると、プロセスが再起動されます。

サーバー構成と 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 拡張機能は、次の手順に従って有効にできます:

  1. php.ini ファイルを開きます:
vi /etc/php.ini
ログイン後にコピー
  1. 次のコードを見つけます:
;zend_extension = <path_to_opcache.so>
ログイン後にコピー
  1. 先行する「;」を削除し、「」を特定の OPcache 拡張パス (通常は /usr/lib64/php/modules/opcache.so) に置き換えます。
  2. 変更を保存した後、PHP-FPM サービスを再起動して OPcache を有効にします。
service php-fpm restart
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

4. PHP-FPM の Slow Log 機能をオンにする

PHP-FPM の Slow Log 機能は、実行時間が指定したしきい値を超えたリクエストをログ ファイルに記録できます。後で使用するための分析と最適化。次の手順で Slow Log 機能を有効にできます。

  1. php-fpm.conf ファイルを開きます:
vi /etc/php-fpm.conf
ログイン後にコピー
ログイン後にコピー
  1. 次のコードを見つけます:
;slowlog = /var/log/php-fpm/www-slow.log
;request_slowlog_timeout = 0
ログイン後にコピー
  1. 先行する「;」を削除し、「request_slowlog_timeout」を必要なしきい値 (秒単位) に変更します。たとえば、これを 1 に変更すると、実行に 1 秒以上かかるリクエストがログに記録されることになります。
  2. 変更を保存した後、PHP-FPM サービスを再起動して、Slow Log 機能を有効にします。
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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Web サイトのパフォーマンス向上の鍵: PHP-FPM 最適化実践ガイド Web サイトのパフォーマンス向上の鍵: PHP-FPM 最適化実践ガイド Oct 05, 2023 am 09:28 AM

Web サイトのパフォーマンス向上の鍵: PHP-FPM 最適化実践ガイド インターネットの急速な発展に伴い、Web サイトの役割はますます重要になっています。 Web サイト運営者にとって、Web サイトのパフォーマンスを向上させることは、ユーザー エクスペリエンスを向上させるだけでなく、検索エンジンのランキングを向上させるためにも重要です。 PHP-FPM (FastCGIProcessManager) は、PHP 実行のプロセス マネージャーとして、Web サイトのパフォーマンスを向上させる上で重要な役割を果たします。この記事では、PHP-FPM の最適化について説明します。

PHP-FPM 最適化を使用して Symfony アプリケーションのパフォーマンスを向上させる方法 PHP-FPM 最適化を使用して Symfony アプリケーションのパフォーマンスを向上させる方法 Oct 05, 2023 pm 03:05 PM

PHP-FPM 最適化を使用して Symfony アプリケーションのパフォーマンスを向上させる方法 はじめに: Symfony は、多くの開発者に広く採用されている人気のある PHP フレームワークです。ただし、高トラフィックや大量の同時リクエストが発生すると、Symfony アプリケーションのパフォーマンスが影響を受ける可能性があります。 PHP-FPM は、PHP プロセスを管理するための一般的なソリューションであり、より優れたパフォーマンスとスケーラビリティを提供します。この記事では、PHP-FPM を使用して Symfony アプリケーションのパフォーマンスを最適化および改善し、特定のコードを提供する方法を紹介します。

PHP の静的化が Web サイトのパフォーマンスに及ぼす影響の分析 PHP の静的化が Web サイトのパフォーマンスに及ぼす影響の分析 Mar 05, 2024 pm 01:48 PM

Web サイトのパフォーマンスに対する PHP の静的化の影響の分析 インターネットの急速な発展に伴い、Web サイトのパフォーマンスの最適化がますます重要になってきています。中でも、PHP 静的テクノロジは、Web サイトのパフォーマンスとユーザー エクスペリエンスを向上させる効果的な手段です。この記事では、Web サイトのパフォーマンスに対する PHP の静的化の影響を分析し、具体的なコード例を示します。 1. 静的 PHP の原理 PHP は動的言語であるため、ページにアクセスするたびにサーバーが HTML コンテンツを動的に生成する必要があり、サーバーの負荷と応答時間が増加します。そしてPHP静的テクノロジー

ウェブサイトのパフォーマンスを最適化するための必須のフロントエンド開発スキル ウェブサイトのパフォーマンスを最適化するための必須のフロントエンド開発スキル Feb 02, 2024 pm 09:31 PM

Web サイトのデザインと開発の重要な部分として、フロントエンド開発はユーザーと Web サイトをつなぐ架け橋の役割を果たします。情報量が爆発的に増加している今日のインターネット時代において、ユーザーは Web サイトのパフォーマンスに対する要求をますます高めています。したがって、Web サイトのパフォーマンスを向上させるための実践的なスキルを理解し、習得することが、フロントエンド開発者の重要なタスクの 1 つになっています。この記事では、フロントエンド開発の秘密兵器を明らかにし、Web サイトのパフォーマンスを向上させるのに役立ちます。まず、Web サイトのファイルの最適化について説明します。フロントエンド開発では、Web サイト ファイルの最適化は Web サイトのパフォーマンスを向上させるための重要なステップです。

PHP-FPM を最適化して Web サイトのパフォーマンスを向上させる方法 PHP-FPM を最適化して Web サイトのパフォーマンスを向上させる方法 Oct 05, 2023 pm 12:46 PM

PHP-FPM を最適化して Web サイトのパフォーマンスを向上させる方法 インターネットの発展に伴い、Web サイトのパフォーマンスはユーザー エクスペリエンスとビジネスの発展にとって非常に重要です。 Web 開発の主流言語の 1 つである PHP のパフォーマンスの最適化は、開発者の焦点の 1 つになっています。 PHP-FPM (FastCGIProcessManager) は、PHP のプロセス マネージャーとして、Web サイトのパフォーマンスを向上させるために不可欠です。この記事では、PHP-FPM を最適化して Web サイトのパフォーマンスを向上させる方法と具体的な詳細を紹介します。

PHP-FPM のパフォーマンスを最適化して Web サイトの応答速度を向上させる方法 PHP-FPM のパフォーマンスを最適化して Web サイトの応答速度を向上させる方法 Oct 05, 2023 am 08:39 AM

PHP-FPM のパフォーマンスを最適化し、Web サイトの応答速度を向上させる方法 インターネットの急速な発展に伴い、Web サイトのパフォーマンスはますます重要になってきています。一般的なサーバー側スクリプト言語として、PHP はパフォーマンスの最適化という課題にも直面しています。この記事では、PHP-FPMを最適化してWebサイトの応答速度を向上させる方法と、具体的なコード例を紹介します。 PHP-FPM (FastCGIProcessManager) は、PHP 用の FastCGI マネージャーであり、PHP-FastCG のバージョンです。

データベース検索パフォーマンスを向上させるための Java テクノロジの最適化に関する実践的なガイド データベース検索パフォーマンスを向上させるための Java テクノロジの最適化に関する実践的なガイド Sep 18, 2023 pm 03:54 PM

データベース検索パフォーマンスを向上させるための Java テクノロジ最適化実践ガイド 概要: インターネットの急速な発展に伴い、データベース検索パフォーマンスは多くのソフトウェア開発者が注意を払う必要がある重要な問題になっています。データベース検索パフォーマンスを最適化すると、システムの応答速度が向上し、ユーザー エクスペリエンスが向上します。この記事では、Java テクノロジを使用してデータベース検索パフォーマンスを最適化するための実践的なガイドラインをいくつか紹介し、具体的なコード例を示します。 1. インデックスの使用 インデックス作成は、データベースの検索パフォーマンスを向上させる重要な手段の 1 つです。検索列にインデックスを作成すると、クエリを大幅に高速化できます。

Web サイトのパフォーマンスを向上させる: Celery Redis Django を使用して非同期タスク処理を実装する Web サイトのパフォーマンスを向上させる: Celery Redis Django を使用して非同期タスク処理を実装する Sep 26, 2023 pm 09:51 PM

Web サイトのパフォーマンスの向上: CeleryRedisDjango を使用して非同期タスク処理を実装する はじめに: 最新の Web アプリケーションでは、ユーザー エクスペリエンスが非常に重要であり、Web サイトのパフォーマンスの最適化はその非常に重要な部分です。時間のかかるタスクを処理する場合、タスクが同期的に完了するのを待つと、Web サイトの応答速度とパフォーマンスが大幅に低下します。この問題を解決するには、CeleryRedisDjango を使用して非同期タスク処理を実装し、Web サイトのパフォーマンスを向上させます。 1.セロリ

See all articles