サーバーリソースに問題がないにもかかわらず、サイトの応答が遅い理由を理解しようと頭を悩ませた後、Apacheのステータスを確認したところ、次のことがわかりました。
78 requests/sec - 0.7 MB/second - 8.5 kB/request
256 requests currently being processed, 0 idle workers
私のapacheは文字通り接続でいっぱいになっているようです。私のサイトにアクセスしようとする人は、Apacheが再び解放されるまで「待機リスト」に入れられます。
2つのオプションがあるようです。
A)最大接続数の制限を256より大きくします。この記事によると、それほど簡単ではありませんが、
デフォルトでは、MaxClientsパラメータは256のハード制限でコンパイルされています。ただし、これはApacheを再コンパイルすることで変更できます。一部のディストリビューションまたはホスティング会社は、大きな負荷に対処するために、この制限を512または1024などの非常に高い値に引き上げています。
B)時間がかかりすぎるスクリプトを見つけます。ほとんどのapacheプロセスが表示され、その後再び表示されなくなるので、これは私にとってはるかにトリッキーなようです。また、私のサイトのPHPスクリプトは非常に適切に最適化されています...もう一度、サーバーリソースは問題ありません。
Server load 2.69 (8 CPUs)
Memory Used 25.33% (2,039,108 of 8,048,804)
Swap Used 1.32% (54,156 of 4,095,992)
どのオプションを選択した場合(どちらかを選択した場合)、どのようにすればよいですか?
編集
詳細:サーバーバージョン:Apache / 2.2.23(Unix)mod_ssl / 2.2.23 OpenSSL / 1.0.0-fips DAV / 2 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635
HTTP設定:http : //pastebin.com/yBeLt6mP
Parital Requestサンプル:http ://pastebin.com/vzUVDMPR
ペーストビンが奇妙に表示される場合は、テキストの折り返しを切り替えます。