ホームページ >バックエンド開発 >PHPの問題 >PHPは静的ですか、それとも動的ですか?

PHPは静的ですか、それとも動的ですか?

王林
王林オリジナル
2019-09-19 17:56:483820ブラウズ

PHPは静的ですか、それとも動的ですか?

#php-fpm のプロセス数は設定により動的と静的に分けられます。

静的: 指定された数の php-fpm プロセスを増減せずに直接開始します;

動的: 最初に開くphp-fpmのプロセス数を一定数に設定し、リクエストが大きくなった場合には動的にphp-fpmのプロセス数を上限まで増やし、アイドル状態の場合は自動的にアイドル状態のプロセス数を下限まで解放します。

これら 2 つの異なる実行方法は、サーバーの実際のニーズに応じて調整できます。

これに関連するパラメータは、pm\pm.max_children\pm.start_servers\pm.min_spare_servers と pm.max_spare_servers です。

pm は使用する方法を示します。staticstatic または dynamicdynamic の 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 に増加する理由でもあります。したがって、動的方法は冗長なプロセスを終了し、一部のメモリをリサイクルして解放できるため、メモリの少ないサーバーで使用することをお勧めします。

具体的な最大数は、物理メモリの合計サイズを 20M で割ることによって得られます。たとえば、512M VPS の場合、

pm.max_spare_servers 値を 20 に設定することをお勧めします。 pm.min_spare_servers については、サーバーの負荷に応じて 5 ~ 10 の間で設定することをお勧めします。

メモリが大きいサーバーの場合、静的に設定すると効率が向上します。 php-fpm プロセスを頻繁に切り替えると遅延が発生するため、メモリが十分に大きい場合は静的効果が向上します。この数値は、物理メモリの合計サイズを 30M で割ることで得られます。たとえば、2GB メモリを搭載したサーバーは 50 に設定でき、4GB メモリを搭載したサーバーは 100 に設定できます。

上記の内容は参考用です。


推奨チュートリアル:

PHP ビデオ チュートリアル

以上がPHPは静的ですか、それとも動的ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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