[ハイライト] PHP-FPM 構成の最適化
【概要】PHP-FPM構成の最適化
http://www.linuxidc.com/Linux/2011-05/35346.htm
?
?
?
request_terminate_timeout = 30
#30 秒待った後、自動的に終了していない PHP スクリプトを終了して、占有されているリソースを解放することを示します。
?
php.ini の max_execution_time こちらも調整が必要です
?
?
?
まず、これに関係するいくつかのパラメーターについて説明します。それらは、pm、pm.max_children、pm.start_servers、pm.min_spare_servers、および pm.max_spare_servers です。
PM は、静的または動的という 2 つの値から選択する方法を示します。古いバージョンでは、動的は Apache のようなものと呼ばれていました。このための設定ファイルの記述に注意してください。
次の 4 つのパラメータの意味は次のとおりです:
pm.max_children: 静的モードで開かれた php-fpm プロセスの数。
pm.start_servers: 動的モードで開始する php-fpm プロセスの数。
pm.min_spare_servers: 動的モードでの php-fpm プロセスの最小数。
pm.max_spare_servers: 動的モードでの php-fpm プロセスの最大数。
dm が static に設定されている場合、パラメータ pm.max_children のみが有効になります。システムは、設定された数の php-fpm プロセスを開始します。
dm が動的に設定されている場合、pm.max_children パラメーターは無効になり、次の 3 つのパラメーターが有効になります。
php-fpm が実行を開始すると、システムは pm.start_servers php-fpm プロセスを開始します。
次に、システムのニーズに応じて、pm.min_spare_servers と pm.max_spare_servers の間で php-fpm プロセスの数を動的に調整します。
それでは、どの実行方法がサーバーに適しているのでしょうか?実際、Apache と同様に、実行中の PHP プログラムでは実行後に多かれ少なかれメモリ リークが発生します。
これは、php-fpm プロセスが最初は約 3M のメモリしか占有せず、一定期間実行すると 20 ~ 30M に増加する理由でもあります。
大容量メモリ (8G 以上など) を備えたサーバーの場合、静的 max_children を指定する方が実際にはより適切です。これにより、追加のプロセス数制御が必要なくなり、効率が向上します。
php-fpmのプロセスを頻繁に切り替えるとラグが発生するため、メモリに余裕がある場合はstatic機能をオンにした方が良いでしょう。数量はメモリ/30M に応じて取得することもできます。たとえば、8GB メモリを 100 に設定できます。
そうすれば、php-fpm が消費するメモリを 2G ~ 3G で制御できます。メモリが 1G などわずかに小さい場合は、静的なプロセス数を指定する方がサーバーの安定性に役立ちます。
これにより、php-fpm が十分なメモリのみを取得し、他のアプリケーションに少量のメモリが割り当てられて使用されるようになり、システムがよりスムーズに実行されるようになります。
256M メモリの VPS など、メモリが少ないサーバーの場合、20M メモリに基づいて計算したとしても、10 個の php-cgi プロセスで 200M のメモリが消費され、システム クラッシュは正常なはずです。
したがって、php-fpm プロセスの数をできるだけ制御するように努め、他のアプリケーションが占有しているメモリを大まかに把握した後、静的に小さな数を割り当てるとシステムがより安定します。または、動的メソッド
を使用します。
動的方法は冗長なプロセスを終了し、一部のメモリをリサイクルして解放できるため、メモリの少ないサーバーまたは VPS で使用することをお勧めします。具体的な最大量はメモリ/20M に基づいて取得されます。
たとえば、512M VPS の場合、pm.max_spare_servers を 20 に設定することをお勧めします。 pm.min_spare_servers については、サーバーの負荷に応じて 5 ~ 10 の間で設定することをお勧めします。
?
?
?
?
?
============================== 127.0.0.1 はローカル IP を監視します
?
php-fpm.conf
聞く = 127.0.0.1:9000
?
?
?
nginx.conf
? 場所 ~ ^(.+.php)(.*)$ {
????? fastcgi_pass?? 127.0.0.1:9000;
?????fastcgi_index?index.php;
?????fcgi.conf を含める;
???}
?
?
?
?
?
?
?
?
?
?

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
