<IfModule mpm_event_module>
StartServers 2
ThreadLimit 196
MinSpareThreads 96
MaxSpareThreads 192
ThreadsPerChild 96
MaxRequestWorkers 192
MaxConnectionsPerChild 96
</IfModule>
サーバーのバージョン:Apache/2.2.4(Unix)OpenSSL/1.0.1e mod_fastcgi/mod-fastcgi-SNAP-0910052141
サーバー構築:2013年5月24日16:48:07現在の時刻:2013年6月17日月曜日09:48:11 COT
再起動時間:2013年6月17日月曜日08:35:14 COT
親サーバー構成。世代:1
親サーバーのMPM生成:0
サーバーの稼働時間:1時間12分57秒
サーバーの負荷:0.05 0.10 0.09
総アクセス:14144-総トラフィック:349.7 MB
CPU使用率:u.28 s.25 cu0 cs0-.0121%CPU負荷
3.23リクエスト/秒-81.8 kB /秒-25.3 kB /リクエスト
1件のリクエストが現在処理中、191人のアイドルワーカーPID | Connections | Threads | Async connections | total | accepting | busy | idle | keep-alive | closing ============================================================== 18997 | 3 | yes | 1 | 95 | 0 | 3 18485 | 0 | yes | 0 | 96 | 0 | 0 ============================================================== Sum | 3 | | 1 | 191 | 0 | 3
エラーメッセージは
[Mon Jun 17 09:32:45.680842 2013] [mpm_event:error] [pid 8574:tid 140185091581760] AH00485:スコアボードがいっぱいです。MaxRequestWorkersではありません
これは数秒ごとに表示されます。わかりません。どうすれば修正できますか?
Apache 2.4.6でも同じ問題がありました。サーバーを監視して数時間設定を調整した後、Apacheにバグがあるように見えます。発生しているように見えるのは、サーバープロセスがG
状態(正常に終了)になり、再起動して新しい要求を受け入れることです。これは正常です。通常ではないのは、何らかの理由で再起動に数分かかる場合があることです。いくつかのサーバープロセスしか実行しておらず、それらすべてが同時にG
状態になる場合、スコアボードがいっぱいになり、それ以上のリクエストを処理できなくなります。
サーバーの数を増やすことで、すべてのサーバーが同時にG
状態になる可能性が低くなりました。また、デフォルトのように見えるため、各サーバープロセスに少なくとも25スレッド(MaxRequestWorkers
)を割り当てるようにしてください(つまり、5 Servers
x 25 ThreadsPerChild
= 125 MaxRequestWorkers
)。 ThreadsPerChild
は必要に応じて変更できます。デフォルトのままにしておきます。十分なスレッドを割り当てないと、追加のサーバーは起動しません。 MinSpareThreads
のデフォルト値は25で、MaxSpareThreads
のデフォルトは75です。これらの設定を変更する場合、MaxSpareThreads
の値はMinSpareThreads
とThreadsPerChild
の合計に等しい。また、MaxRequestWorkers
はServerLimit
以下でなければなりません。
これが私たちにとってうまくいったことですが、それはあなたにとって最良の構成ではないかもしれません。
StartServers 3
MinSpareServers 5
MaxSpareServers 10
ServerLimit 250
MaxRequestWorkers 250
MaxConnectionsPerChild 1000
KeepAlive Off
編集:これは確認済み バグ で、httpdのmpm_eventモジュールにありますが、構成では修正できない可能性があります。
リンクされた bugtracker エントリには推定パッチがあり、イベントモジュールの新しいバージョンが正式にリリースされるまでこれを修正する方法についての詳細な議論があります。
同じ問題が発生しています。
Apache 2.4.7-1ubuntu4.4 on Ubuntu 14.04
Server Version: Apache/2.4.7 (Ubuntu)
Server MPM: event
Server Built: Mar 10 2015 13:05:59
特に、Apacheをリロードすることでこの動作を引き起こす可能性があります。
次に見るのは、止まらない古いプロセスのカップルです。
root 28192 0.0 0.8 103772 8648 ? Ss Mar16 0:03 /usr/sbin/Apache2 -k start
www-data 2530 0.3 2.1 865188 21516 ? Sl 06:26 0:54 \_ /usr/sbin/Apache2 -k start
www-data 2531 0.2 2.1 865436 21892 ? Sl 06:26 0:51 \_ /usr/sbin/Apache2 -k start
www-data 3299 0.3 2.0 864140 20628 ? Sl 06:46 0:51 \_ /usr/sbin/Apache2 -k start
www-data 7305 0.3 2.1 865100 21504 ? Sl 08:36 0:37 \_ /usr/sbin/Apache2 -k start
www-data 11952 0.2 1.8 863004 19268 ? Sl 10:46 0:06 \_ /usr/sbin/Apache2 -k start
www-data 13284 0.0 0.6 103772 6692 ? S 11:18 0:00 \_ /usr/sbin/Apache2 -k start
www-data 13553 2.1 2.0 866156 21248 ? Sl 11:23 0:01 \_ /usr/sbin/Apache2 -k start
「古い」と「新しい」PIDと開始時刻に注意してください。 ^^
PID Connections Threads Async connections
total accepting busy idle writing keep-alive closing
7305 14 no 0 0 0 0 0
2530 13 no 0 0 0 0 0
3299 7 no 0 0 0 0 0
13553 65 no 17 8 0 25 25
2531 15 no 0 0 0 0 0
11952 10 no 0 0 0 0 0
Sum 124 17 8 0 25 25
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGW_WWWW__W_W_W_WWWWWWW__WWGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGG
レプリカデータベースの1つがオフラインになり、タイムアウトし始めたときに、これを確認し始めました。これにより、Apacheで膨大な数のスレッドが拘束されました。
おそらく通常のケースではないでしょうが、このエラーを見た人を助けるためにキヤノンに提出します。