ServerLimit、MaxClients、MaxRequestsPerChildディレクティブの最適値
トラフィックが多いサイトでは、ユーザーが生成した動的コンテンツを大量に実行しています。 サーバーは専用サーバーで、合計4つのIntel(R)Xeon(R)CPU X3210 @ 2.13GHzプロセッサーを搭載しています。サーバーに4GBのRAMがあり、MySQLデータベースが別のサーバーで実行されることを考慮して、ServerLimitおよびMaxClients apacheのディレクティブの最適値を知る必要があります。パネルは、CentOSを使用したDirectAdminです。 以下は私の現在のディレクティブですが、5,000人以上のユーザーがいるピーク時に重要なラグに気づきます-ページが高速に生成されるように見えるため(ページ生成時間カウンターを実装しているため)、これは完全にMySQLの障害ではありませんが、ページが応答を開始し、ブラウザに送信されるまでの接続遅延。 <IfModule prefork.c> StartServers 800 MinSpareServers 20 MaxSpareServers 60 ServerLimit 900 MaxClients 900 MaxRequestsPerChild 2000 </IfModule> Timeout 90 KeepAlive On KeepAliveTimeout 5 topコマンドを使用してサーバーを監視すると、CPU使用率がピーク時に20%〜30%を超えることはありません。また、MySQLサーバーの使用率は30〜50%であり、遅いクエリの修正に常に取り組んでいますが、それは別の問題です。静的なページもピーク時にロードするのに時間がかかるため、DBのボトルネックではないことを知っています。 これらの値を最適化するためのヒントは大歓迎です。