検索
ホームページバックエンド開発PHPチュートリアルPHP-FPMチューニング:' PM static'を使用最大パフォーマンス用

PHP-FPM tuning: Using 'pm static' for Max Performance

キーポイント

    適切なメモリサーバーの場合、PHP-FPMの
  • 設定により、スループットが高く、低下が低くなります。この設定により、PHP-FPMプロセスは常に最大容量を維持することができ、新しいプロセスを生成することなくトラフィックピークへの迅速な応答を可能にします。 pm static
  • の使用が不十分なメモリまたはキャッシュストレスの問題を避けるために、慎重な調整が必要です。 pm static CPUのパフォーマンスに影響を与えることなく、サーバーが処理できるPHP-FPMプロセスの最大数に従って設定する必要があります。 pm.max_children 複数のPHP-FPMプールまたは低メモリを備えたサーバーの場合、より適している場合があります。これらの設定は、現在の負荷に基づいてサブプロセスの数を調整することでメモリを保存できますが、トラフィックの変動が発生しているときにオーバーヘッドの問題を引き起こす可能性もあります。
  • PHP-FPM構成の定期的な監視とチューニングは、選択した設定に関係なく最適なパフォーマンスに不可欠です。 PHP-FPMプロセスの平均サイズはサーバーごとに異なり、手動で調整し、サーバーのリソースとトラフィックパターンを明確に理解する必要があります。 pm dynamic pm ondemand
  • この記事の元の原稿は、もともと編集なしでhaydenjames.ioで公開され、著者の許可を得てここで再現されました。

高度なスループット、低レイテンシ、より安定したCPUおよびメモリの使用に最適なPHP-FPMを最適に設定する方法をすばやく学びましょう。デフォルトでは、ほとんどの設定はPM(プロセスマネージャー)PHP-FPMの文字列を動的に設定し、通常、使用可能なメモリ問題が発生した場合はOnDemandをお勧めします。ただし、PHP.NETのドキュメントに基づいてこれら2つの管理オプションを比較し、トラフィックの高い設定のお気に入りのオプションを比較しましょう。

:子プロセスの数は、次の指示に従って動的に設定されます:

  • pm = dynamic pm.max_childrenpm.start_servers:必要に応じてリクエストに応じてプロセスが生成されます。これは、サービスから始まる動的とは異なりますpm.min_spare_serverspm.max_spare_servers
  • pm = ondemand:子どものプロセスの数はpm.start_serversによって固定されています。
  • pm = staticpm.max_children詳細については、グローバルPHP-FPM.CONFディレクティブの完全なリストを参照してください。
PHP-FPMプロセスマネージャー(PM)とCPUFREQレギュレーターの類似性

これは少し話題から外れているように見えるかもしれませんが、PHP-FPM Tweakedトピックに関連付けたいと思います。 OK、ラップトップ、仮想マシン、専用サーバーなど、ある時点でCPU速度が遅いことがあります。 CPU周波数のスケーリングを覚えていますか? (CPUFREQレギュレーター。)これらの設定は、

nixシステムとWindowsシステムの両方で使用でき、

ondemand

パフォーマンス*からCPUレギュレーターの設定を変更することにより、パフォーマンスとシステムの応答性を向上させることができます。今回は、説明を比較して類似点を探しましょう。

  • Governor = ondemand:現在の負荷に応じてCPU周波数を動的にスケーリングします。最高の周波数にジャンプしてから、アイドル時間が増加するにつれて周波数を減らします。
  • Governor = conservative:現在の負荷に応じて周波数を動的にスケーリングします。 OnDemandよりもスケーリング周波数がスムーズです。
  • Governor = performance:常に最大周波数でCPUを実行します。

詳細については、CPUFREQレギュレーターオプションの完全なリストを参照してください。

類似性に気づきましたか?最初にこの比較を使用したいと思います。記事を書く最良の方法を見つけることを目標に、PHP-FPMのpm staticを最初の選択肢として推奨します。

CPUレギュレーターの場合、パフォーマンス設定は、サーバーCPUの制限にほぼ完全に依存するため、パフォーマンス設定はかなり安全なパフォーマンスブーストです。他の要因は、熱、バッテリー寿命(ラップトップ)、CPU周波数を100%に永続的に設定するなどの副作用にすぎません。パフォーマンスに設定すると、実際にCPUの最速のセットアップです。たとえば、Raspberry Piの

設定について読んでください。これにより、RPIボードはパフォーマンスレギュレーターの使用を強制します。また、CPUクロック速度が低いため、パフォーマンスの改善がより顕著になります。 force_turbo

使用

サーバーの最大パフォーマンスを達成pm static

php-fpm

設定は、サーバーのメモリの量に大きく依存します。基本的に、サーバーメモリが不十分な問題に問題がある場合は、pm staticまたはpm ondemandがより良い選択かもしれません。一方、十分なメモリを利用できる場合は、サーバーの最大容量にdynamicを設定することにより、PHPプロセスマネージャー(PM)のオーバーヘッドのほとんどを回避できます。言い換えれば、計算を行う場合、メモリの可用性やキャッシュストレスの問題を作成せずに実行できるPHP-FPMプロセスの最大数に設定する必要があります。また、CPUを圧倒し、多くの処理されていないPHP-FPM操作を引き起こすには高すぎないように設定しないでください。 pm static pm.static

上記の画像では、このサーバーの

pm = staticは、最大約10GBの32GBのインストールメモリを使用しています。自己解釈の強調表示された列に注意してください。このスクリーンショット中に、Googleアナリティクスには約200人の「アクティブユーザー」がありました(最後の60秒)。このレベルでは、PHP-FPMの子どもプロセスの約70%がまだアイドル状態です。これは、PHP-FPMが常に現在のトラフィックに関係なくサーバーリソースの最大容量に設定されることを意味します。アイドルプロセスはオンラインにとどまり、PMが子どものプロセスを生み出してから閉じるのを待つのではなく、トラフィックピークを待ってすぐに応答します。これは、PHPメモリが漏れない生産サーバーであるため、pm.max_children = 100を非常に高く設定しました。現在および将来のPHPスクリプトに110%の信頼性がある場合は、静的でpm.process_idle_timeoutを使用できます。ただし、スクリプトを定期的に再起動することをお勧めします。ポイントはPMのオーバーヘッドを避けることであるため、リクエストの数をより高い数に設定します。たとえば、少なくともpm.max_requestsは、pm.max_requests = 0数とリクエストに応じて、1秒間です。 pm.max_requests = 1000 このスクリーンショットは、「u」(ユーザー)オプションとPHP-FPMユーザーの名前でLinuxpm.max_childrenを使用してフィルタリングされます。表示されるプロセスの数は約50(計算なし)ですが、基本的に

は、ターミナルウィンドウに合ったトップレベルの統計を表示します。この場合、%CPUでソートされています。 100個のPHP-FPMプロセスをすべて表示するには、次のコマンドを使用できます。

topいつtop

を使用して、次のようなエラーに気付いたかもしれません。
<code>top -bn1 | grep php-fpm</code>

設定を増やす/調整しようとするかもしれませんが、ServerFaultの投稿で説明されている人と同じエラーが表示されます。この場合、ネットワークトラフィックはトラフやピークで大きく変動するため、pm ondemandが低すぎて正しく調整することは困難です。通常のアドバイスは、dynamicを使用することです。しかし、これはさらに悪いことです。トラフィックがほとんどまたはまったくない場合、

はアイドルプロセスを0にシャットダウンし、その後、トラフィックが変動するのと同じくらいのオーバーヘッドの問題になります。もちろん、もちろん、あなたはアイドルタイムアウトは非常に高く設定されています...この場合、

highpm dynamicのみを使用する必要があります。

ただし、複数のPHP-FPMプールがある場合は、PM dynamic、特にondemandはリソースを節約できます。たとえば、複数のcPanelアカウントまたは異なるプールの下で複数のWebサイトをホストします。たとえば、100個以上のCPANELアカウントと約200のドメイン名を持つサーバーがあります。ウェブサイトの3分の2以上がトラフィックをほとんど持っていないため、pm.staticのみをうまく実行できます。これは、すべての子プロセスがシャットダウンされ、多くのサーバーメモリを保存することを意味します。ありがたいことに、CPANELの開発者はこの問題を解決しましたが、今ではデフォルトでdynamicになりました。以前は、デフォルトでondemandを使用しているため、IDLE CPANEL PHP-FPMプール/アカウントでもPHP-FPMが共有サーバー上のオプションになりました。良いトラフィックを受け取った場合、多数のPHP-FPMプール(共有ホスト)を備えたサーバーでホストする可能性は低いです。 ondemand ondemand結論dynamic PHP-FPMでは、大量のトラフィックの提供を開始すると、PHP-FPMの

および

プロセスマネージャーは、固有のオーバーヘッドのためにスループットを制限する可能性があります。システムを理解し、サーバーの最大容量に一致するようにPHP-FPMプロセスを設定します。

または

に基づいた最大使用設定から始めて、メモリとCPUが圧倒されることなく処理できるポイントまで増加します。 ondemandを使用することは、すべてがメモリに存在するため、時間の経過とともにトラフィックピークがCPUをピークにし、サーバーの負荷とCPUの平均がよりスムーズになるためです。 PHP-FPMプロセスの平均サイズはWebサーバーによって異なり、手動で調整する必要があるため、より自動化されたオーバーヘッドプロセスマネージャー(dynamicおよびpm dynamic ondemandpm.max_children更新:A/Bベンチマーク比較チャートを追加しました。 PHP-FPMプロセスがメモリに存在することは、パフォーマンスを改善するのに役立ちますが、メモリの使用量を増やして待機状態に保ちます。設定に最適なポイントを見つけてください。 pm staticdynamic ondemand

PHP-FPM調整に関するFAQ(FAQ) PHP-FPMとは何ですか?サーバーのパフォーマンスにとってなぜそれが重要なのですか?

PHP-FPMまたはFASTCGI Process Managerは、特に忙しいサイトでは、あらゆるサイズのサイトに役立つ追加機能を備えた別のPHP FastCGI実装です。サーバーのパフォーマンスは、ワーカープールを活用することにより、サーバーが同時訪問者からのより多くのリクエストを処理できるため、重要です。これらのプロセスは、PHPファイルを解析し、動的コンテンツを生成し、クライアントに提供する責任があります。これらのプロセスを効果的に管理することにより、PHP-FPMはサーバーのパフォーマンスとスケーラビリティを大幅に向上させることができます。 PHP-FPM tuning: Using 'pm static' for Max Performance

PHP-FPMは私のウェブサイトのパフォーマンスをどのように改善しますか?

PHP-FPMは、PHPプロセスを効果的に管理することにより、Webサイトのパフォーマンスを向上させます。主なプロセスを使用して、PHPスクリプトを処理する複数の子プロセスを制御します。これにより、アイドルプロセスを終了し、必要に応じて新しいプロセスを生成できるため、サーバーリソースを効率的に使用できます。さらに、PHP-FPMはOpCodeキャッシュをサポートします。これは、共有メモリにプリコンパイルされたスクリプトバイトコードを保存することでPHPの実行を大幅に高速化でき、PHPがすべてのリクエストでスクリプトをロードして解析する必要性を排除できます。

php-fpmのpm static構成とは何ですか?パフォーマンスにどのように影響しますか?

pm staticphp-fpmでは、

構成により、子プロセスの数を固定数に設定します。これは、現在のサーバーの負荷に関係なく、着信要求を提供する準備ができている特定の数のプロセスが常にあることを意味します。これは、新しいプロセスを生成する必要がないため、高負荷の下でより良いパフォーマンスにつながる可能性があります。ただし、これらのプロセスが必要でない場合でも、常に実行されているため、メモリ使用量が増える可能性もあります。

最大のパフォーマンスのためにPHP-FPMを調整する方法は?

pm最大のパフォーマンスのためにPHP-FPMの調整には、複数の構成設定を調整することが含まれます。これらの設定には、使用するプロセスマネージャーを決定するpm.max_children設定と、子プロセスの最大数を設定するpm.start_servers設定が含まれます。その他の重要な設定には、開始されたサーバーの数、アイドルサーバーの最小数、およびサーバーの最大数をそれぞれ制御するpm.min_spare_serverspm.max_spare_servers

が含まれます。サーバーのリソースとトラフィックパターンに一致するようにこれらの設定を調整すると、パフォーマンスが大幅に向上する可能性があります。

PHP-FPMの一般的な問題は何ですか?どうすればトラブルシューティングできますか?

pm.max_childrenPHP-FPMの一般的な問題には、CPUの使用量が多い、応答時間の遅い、および子プロセスの最大数に到達することに関連するエラーが含まれます。これらの問題は、多くの場合、PHP-FPM構成の設定を調整して、

設定の追加や別のプロセスマネージャーへの切り替えなど、解決できます。さらに、監視ツールを使用して、ボトルネックとパフォーマンスの問題を特定できます。

PHP-FPMは他のPHPハンドラーとどのように比較されますか?

PHP-FPMは、一般に、他のPHPハンドラーよりも効率的で柔軟性があると考えられています。さまざまなプロセスマネージャーをサポートし、サーバーのリソースとトラフィックパターンに従って調整できます。さらに、PHP-FPMはOpCodeキャッシングをサポートし、多数の同時リクエストを処理でき、忙しいサイトに最適です。

WebサーバーでPHP-FPMを使用できますか?

はい、PHP-FPMは、FASTCGIプロトコルをサポートするWebサーバーで使用できます。これには、Apache、Nginx、LightTPDなどの人気のあるWebサーバーが含まれます。

OpCodeキャッシングとは何ですか?また、PHPパフォーマンスをどのように改善しますか?

OpCode Cachingは、共有メモリにプリコンパイルされたスクリプトバイトコードを保存することにより、PHPパフォーマンスを改善するテクノロジーです。これにより、PHPがすべてのリクエストでスクリプトをロードおよび解析する必要性がなくなり、実行時間が短縮されます。

php-fpmのパフォーマンスを監視する方法は?

PHP-FPMのパフォーマンスを監視するために、いくつかのツールが利用できます。これらのツールには、PHP-FPMステータスページ(ワーカープロセスの現在の状態に関する情報を提供します)と、toppsなどのさまざまなコマンドラインツールが含まれます。さらに、より詳細なメトリックとアラートを提供するサードパーティの監視ソリューションがいくつかあります。

PHP-FPMを使用するためのベストプラクティスは何ですか?

PHP-FPMを使用したベストプラクティスには、サーバーのリソースとトラフィックモードを一致させるプロセスマネージャーの設定と、問題を特定して解決するためのパフォーマンスを定期的に監視することが含まれます。さらに、PHP-FPMとWebサーバーソフトウェアを最新の状態に保ち、最新のパフォーマンスの改善とセキュリティの修正を活用してください。

以上がPHP-FPMチューニング:&#x27; PM static&#x27;を使用最大パフォーマンス用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの継続的な使用:その持久力の理由PHPの継続的な使用:その持久力の理由Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。