2017-02-19 5 views
1

mpm_preforkモジュールを使用してApacheサーバーのMaxClientを増やしたいとします。私は、256GBのRAMを搭載した専用サーバーでWebサーバーのみを実行しています。私はサーバー内で他のプログラムを実行しません。Apache MaxClient mpm_preforkモジュールを使用した256 GB RAMの設定

私はCentOSの7

サーバーの仕様
インテル®Xeon®E5-を実行している二

1000回と呼ばれるPHPを使用して開発されたサーバーでHTTPのWebサービスAPIを実行しています1650 V3ヘキサコアハズウエル、
RAM 256ギガバイトDDR4 ECC RAM、
ハードドライブ2 X 480ギガバイトSSD(ソフトウェアRAID 1)、
接続1ギガビット/秒

1)MaxClientで使用できる最大値はいくらですか? 1000を使うことはできますか?

2)私はサーバーバージョン:Apache/2.4.6(CentOS)を実行しています。私はMaxClientを変更するファイルを見つけることができませんでした。どこで変更できますか? /etc/httpd/conf/httpd.confファイルにMaxClient設定がありません。また、/etc/httpd/conf.modules.d/00-mpm.confファイルにMaxClient設定がありません

私はApacheサーバーを初めて使用しています。私にそれを手伝ってください。私はLoadModuleディレクティブの前に、しかし

おかげ

答えて

1

それはあなたのhttpd.confの上部付近に、このようにブロックを追加CentOSの7に付属しているデフォルトの設定に含まれていない任意の解決策を見つけることができません2日試してみました(これは私が)低スペックのサーバー用に使用するものです。

<IfModule prefork.c> 
     StartServers  8 
     MinSpareServers  5 
     MaxSpareServers 20 
     ServerLimit  256 
     MaxRequestWorkers 200 
     MaxConnectionsPerChild 1000 
</IfModule> 

MaxClientsは、Apache 2.4でMaxRequestWorkersに名前が変更されました。私はServerLimitを少し上回っています。ServerLimitは再起動で変更できないので、MaxRequestWorkersすることができます。 ServerLimitMaxRequestWorkersの最大値を設定します。したがって、ServerLimitを少し高くすると、クライアントを切断することなく、緊急時にMaxRequestWorkersを増やす余地が与えられます。

上記は私のサーバーで使用しているものです。あなたが持っている仕様では、私はMaxRequestWorkersの1000の値が良いと確信しています。おそらく1200にServerLimitを入れてください。

documentation for ServerLimitを参照してください。

他の値も増やすことをお勧めします。おそらくStartServersの場合は40、MinSpareServersの場合は25、MaxSpareServersの場合は100です。

私はMaxConnectionsPerChildを1000に保ちます。そのため、メモリリークがあっても大きな問題は発生しません。私はあなたが同じ価値を保つことをお勧めします。

research all the directivesを入力して、独自の判断を下します。うまくいけば、上記があなたを始めさせるでしょう。一緒にすべてを置く

、私はあなたが使用することをお勧め:あなたがが所定の位置にそれを持って、そしてサーバーが使用されている一度

<IfModule prefork.c> 
     StartServers  40 
     MinSpareServers  25 
     MaxSpareServers 100 
     ServerLimit  1200 
     MaxRequestWorkers 1000 
     MaxConnectionsPerChild 1000 
</IfModule> 

は、サーバリソースに目が離せない。おそらくこれよりもかなり高い値を使用することができます。

もう一つの重要な問題

私は強く、あなたが(ちょうどそれらをコメントアウト)を使用していない任意のモジュール用LoadModuleディレクティブを無効にお勧めします。これにより、各サーバープロセスのメモリ占有量が大幅に削減され、さらに多くのプロセスを実行できるようになります。あなたが必要としない多くのモジュールがデフォルトの設定でロードされています。彼らが何をしているかについて、GoogleとGoogleを1つずつ進んでください。これにより、リソースの使用効率が向上します。

+0

ご返信ありがとうございます。 /etc/httpd/conf.modules.d/00-mpm.confのLoadModule mpm_prefork_module modules/mod_mpm_prefork.soを使用しています。これも無効にすることを意味しますか? – user231410

+0

いいえ、それが必要です。つまり、httpd.confの先頭には、多くのLoadModuleディレクティブがあります。私は私のサーバーで約30台以上を無効にしました。あなたはおそらく同じことをすることができます。それらはそれぞれ異なる機能をサーバーに追加し、そのほとんどは必要ありません。追加機能の各ビットは、すべてのサーバープロセスにメモリ使用量を追加します。それらをすべて通過するには時間がかかりますが、その価値はあります。あなたはApacheを本当に効率的に動作させるためにApacheをチューニングしなければなりません。それはApacheの大きな部分です。特にリソースの使用が非常に重要な場合。 – SuperDuperApps

+0

okご返信ありがとうございました – user231410

関連する問題