web-dev-qa-db-ja.com

256MのMPMPreforkMaxClientパラメーターについてRAMサーバー

VPSサーバーでのApacheMPMPrefork構成について質問があります。

あるslicehostの記事では、仮想サーバーに256MB RAMがある場合、MaxClientsを40に設定することを提案しています。( http://articles.slicehost.com/2010/5/20/configure-the-Apache-mpm-on-debian

ただし、各クライアント要求は約50MB RAMメモリを使用するため、スワッピングが保証され、VPSの速度が低下します。

  PID   RSS COMMAND
10146 45944 /usr/sbin/Apache2 -k start
10147 52528 /usr/sbin/Apache2 -k start
10150 49680 /usr/sbin/Apache2 -k start
10151 48756 /usr/sbin/Apache2 -k start

代わりにMaxClientsを4(!)に設定すると、スワッピングが発生せず、Webサーバーの方が高速であるはずであることがわかりました(または間違っていますか?)

だから、なぜ彼らが代わりに40を提案するのか理解できません。

ありがとう

2
aneuryzm

使用できるMaxClientの数は、サイトの性質によって異なります。

ほとんど静的なコンテンツを提供している場合、Apacheはメモリをあまり使用せず、40(またはそれ以上)をMaxClientsに設定できます。

一方、メモリを大量に消費する処理が行われている場合( Drupal のようなCMSを実行したり、 WordPress のブログを実行したりする場合など)、プロセスごとのメモリ要件大きく膨らむので、MaxClientsの値が下がります。これらの重いPHPアプリケーションでは、単一のプロセスで10〜 ???メガバイトのRAMを簡単に消費できます。

1

リクエストごとに50MBのメモリは一般的ではないため、彼らはおそらくそれを示唆しています。

使用しているモジュールを取り除くことができるかどうかを確認する必要があります。また、mod_(mod_phpなど)をfcgidに移動できるかどうかも確認してください。

それを行った後は、おそらくスレッドセーフモジュールのみが残っており、ワーカーMPMに安全に切り替えることができます。これにより、すべてのパフォーマンスの問題が解決される可能性があります。

0
al.