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

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

Sep 29, 2019 am 10:29 AM
php

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

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

静的: 指定された数の php-fpm プロセスを増減せずに直接開始します; (推奨学習: PHP ビデオ チュートリアル )

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

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

これに関係するパラメータは次のとおりです。

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

具体的な最大数は、物理メモリの合計サイズを 20M で割ることによって得られます。たとえば、512M VPS の場合、pm.max_spare_servers 値を 20 に設定することをお勧めします。 pm.min_spare_servers については、サーバーの負荷に応じて 5 ~ 10 の間で設定することをお勧めします。

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

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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles