ホームページ バックエンド開発 PHPチュートリアル php-fpmのmax_children設定の詳細説明

php-fpmのmax_children設定の詳細説明

Jul 21, 2020 pm 05:14 PM
php-fpm

php-fpmのmax_children設定の詳細説明

現在、nginx fpm は基本的に主流の構成になっていますが、その中でも pm.max_chindren の構成がより重要です。

まず、次の設定に注目します。 pm = static/dynamic,

このオプションは、fpm サブプロセスの生成モードを識別します:

static: は、fpm の実行時に直接フォークアウトすることを意味します pm.max_chindren ワーカー プロセス

dynamic: は、start_servers プロセスがフォークアウトされることを意味します実行時、負荷に応じて動的に調整されますが、max_children プロセスを超えることはありません。

通常、静的を使用することをお勧めします。利点は、負荷状況を動的に判断する必要がなく、パフォーマンスが向上することです。欠点は、より多くのシステム メモリ リソースを消費することです。

上記は、max_chindren によって表されるワーカー プロセスの数を示しています。一般に、この構成で同時に処理できる同時実行性が高くなると考えられていますが、これは比較的大きな誤解です:

  • #1) 実際には、より多くのプロセスが存在し、プロセスのコストが増加します。はい、同時に実行できる fpm プロセスの数は CPU の数を超えることはありません。より多くのワーカーを開くことで QPS が向上するというのは間違った理解であり、より多くのプロセスを開くと処理用の CPU が増えるという意味ではありません。
  • 2) ワーカー プロセスが少なくなります。サーバーがビジー状態の場合、nginx がデータを fpm にヒットさせます。すべてのワーカーが動作しており、リクエストを受け入れるアイドル状態のワーカーがないことがわかります。したがって、結果は 502 になります。
  • 3) 実際のビジネスでは、データベースの読み取りや内部 RPC 呼び出しなど、多くの I/O 操作が発生するため、I/O を待機している間、プロセスはシステムによってスリープ状態になります。および CPU を占有しません。構成されているワーカーの数が少ない場合、CPU は使用されません。

それでは、ワーカーの数はどのように構成すればよいでしょうか?

理論的には、ワーカー プロセスの数 = CPU の数が最も合理的ですが、ポイント 2 により、各ワーカーがリクエストの処理を完了していない可能性があるため、502 が頻繁に発生します。ただし、より多くのプロセスを開くことは、502 を回避してリクエストを一時的にハングすることを意味しますが、これはそれを軽減する方法にすぎず、実際には、これはシステムの同時実行性を高めるだけでなく、システムの負荷も増加させます。 2 と 3 に基づいて、適切な数のワーカーを設定することの方が重要です。

世界で唯一、速い武道は、プログラムの効率を可能な限り高め、一回のリクエストの時間を最小限に圧縮することです。一人のワーカーが短縮され、単位時間で処理できるようになり、当然リクエストも増えました。

そして、max_children の数は、各ワーカーが単位時間内に処理するリクエストの数によって推定できます。最大のリクエストの処理時間 (xhprof の CPU 時間) が 100 ミリ秒以内で、100 ミリ秒以内に 100 個のリクエストが同時に受信される場合、理論的には、最初にリクエストをハングするように 100 個のワーカー プロセスを構成する必要があります。

ただし、最大リクエスト時間は多くの外部環境の影響を受ける可能性があり、特にネットワーク I/O も含まれるため、推定するのが困難です。このタイプの xhprof などのサードパーティのプロファイル ツールを借用することもできます。このツールは、CPU 時間の消費をカウントできます。この期間中の実際のワーカー数を計算することは、合計時間を計算するよりもはるかに合理的です。実際、ここには max_children 数値を構成するためのショートカットがあります。これは、早い段階で max_childnren を設定することです。しばらく安定して動作させた後、fpm のステータスで 最大アクティブプロセス数 を観察し、それよりも大きくなるように max_children を設定すれば問題ありません。

関連する学習の推奨事項: PHP プログラミングの入門から熟練度まで

以上がphp-fpmのmax_children設定の詳細説明の詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

php-fpm を使用して高パフォーマンスのチューニングを行う方法 php-fpm を使用して高パフォーマンスのチューニングを行う方法 Jul 08, 2023 am 11:30 AM

php-fpm を使用して高パフォーマンスのチューニングを行う方法 PHP は、Web アプリケーションや動的 Web サイトの開発に広く使用されている、非常に人気のあるサーバーサイド スクリプト言語です。ただし、トラフィックが増加すると、PHP アプリケーションのパフォーマンスが低下する可能性があります。この問題を解決するには、php-fpm (FastCGIProcessManager) を使用して高性能チューニングを行うことができます。この記事では、php-fpm を使用して PHP アプリケーションのパフォーマンスを向上させる方法とコード例を紹介します。 1つ、

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

PHP-FPM 最適化を使用して PrestaShop アプリケーションのパフォーマンスを向上させる方法 電子商取引業界の急速な発展に伴い、PrestaShop は多くの販売者に選ばれる電子商取引プラットフォームになりました。ただし、ストアのサイズが大きくなり、訪問数が増加すると、PrestaShop アプリケーションはパフォーマンスのボトルネックに遭遇する可能性があります。 PrestaShop アプリケーションのパフォーマンスを向上させるための一般的な方法は、PHP-FPM を使用してアプリケーションの処理能力を最適化および向上させることです。 PHP-FPM (高速CGI)

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

PHP-FPM 最適化を使用して WooCommerce アプリケーションのパフォーマンスを向上させる方法 概要 WooCommerce は、WordPress Web サイトでオンライン ストアを作成および管理するための非常に人気のある e コマース プラグインです。ただし、ストアが成長し、トラフィックが増加すると、WooCommerce アプリが遅くなり、不安定になる可能性があります。この問題を解決するには、PHP-FPM を使用して、WooCommerce アプリケーションのパフォーマンスを最適化および向上させることができます。 PHP-FPとは

php-fpm 接続プールを使用してデータベース アクセスのパフォーマンスを向上させる php-fpm 接続プールを使用してデータベース アクセスのパフォーマンスを向上させる Jul 07, 2023 am 09:24 AM

データベース アクセスのパフォーマンスを向上させるための php-fpm 接続プールの使用の概要: Web 開発において、データベース アクセスは最も頻繁で時間のかかる操作の 1 つです。従来の方法では、データベース操作ごとに新しいデータベース接続を作成し、使用後に接続を閉じます。この方法では、データベース接続の確立と終了が頻繁に発生し、システムのオーバーヘッドが増加します。この問題を解決するには、php-fpm 接続プール テクノロジを使用してデータベース アクセスのパフォーマンスを向上させることができます。接続プールの原理: 接続プールは、一定数のデータベースを組み合わせたキャッシュ技術です。

php-fpmのチューニング方法を詳しく解説 php-fpmのチューニング方法を詳しく解説 Jul 08, 2023 pm 04:31 PM

PHP-FPM は、PHP のパフォーマンスと安定性を向上させるために一般的に使用される PHP プロセス マネージャーです。ただし、高負荷環境では、PHP-FPM のデフォルト設定ではニーズを満たせない場合があるため、チューニングが必要です。この記事では、PHP-FPM のチューニング方法を詳しく紹介し、いくつかのコード例を示します。 1. プロセスの数を増やす デフォルトでは、PHP-FPM はリクエストを処理するために少数のプロセスのみを開始します。高負荷環境では、プロセス数を増やすことで PHP-FPM の同時実行性を高めることができます。

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

PHP-FPM 最適化を使用して Phalcon アプリケーションのパフォーマンスを向上させる方法 はじめに: Phalcon は高性能 PHP フレームワークであり、PHP-FPM と組み合わせるとアプリケーションのパフォーマンスをさらに向上させることができます。この記事では、PHP-FPM を使用して Phalcon アプリケーションのパフォーマンスを最適化する方法を紹介し、具体的なコード例を示します。 1. PHP-FPMPとはHP-FPM (PHPFastCGIProcessManager) はWebサーバーから独立したPHPプロセスです

php-fpmとは何ですか?パフォーマンスを向上させるために最適化するにはどうすればよいですか? php-fpmとは何ですか?パフォーマンスを向上させるために最適化するにはどうすればよいですか? May 13, 2022 pm 07:56 PM

php-fpmとは何ですか?次の記事では、php-fpm について理解し、php-fpm を最適化する際に何を最適化する必要があるかを紹介します。

ubuntuにphp-fpmがない場合の対処法 ubuntuにphp-fpmがない場合の対処法 Feb 03, 2023 am 10:51 AM

php-fpm を使用しない Ubuntu の解決策: 1. 「sudo apt-get」コマンドを実行して PHP のソース アドレスを追加します; 2. php7 パッケージがあるかどうかを確認します; 3. 「sudo apt-get install」を実行して PHP をインストールします" コマンド; 4. nginx リクエストを処理するためにポート 9000 でリッスンするように設定を変更します。 5. 「sudo service php7.2-fpm start」を通じて「php7.2-fpm」を起動します。

See all articles