2010年10月 8日

[Apache-Users 7813]子プロセスが削除されない理由

** Apache ユーザーズメーリングリスト **
** 注意:このメールへの返信は Apache-Users へ行きます **

小林と申します。

運用上で問題が発生して調査しております。

■環境

 ・Apache2.0
 ・Tomcat5.5
 ・mod_jk2

■httpd.confの設定値
 KeepAlive On
 MaxKeepAliveRequests 10
 KeepAliveTimeout 15
 TimeOut 14400

 <IfModule mpm_winnt.c>
  Win32DisableAcceptEx
  ThreadsPerChild 250
  MaxRequestsPerChild 10
 </IfModule>

■問題の現象
突然使用しているサーバ画面に「503エラー」が表示されました。

■ログ内容
503の原因を調査したところ、error.logに以下が表示されていることが確認できました。

----------------------------------
[Tue Sep 07 10:23:00 2010] [notice] Parent: Created child process 8016
[Tue Sep 07 10:23:00 2010] [notice] Disabled use of AcceptEx() WinSock2 API
[Tue Sep 07 10:23:00 2010] [notice] Child 8016: Child process is running
[Tue Sep 07 10:23:01 2010] [notice] Child 632: Released the start mutex
[Tue Sep 07 10:23:01 2010] [notice] Child 8016: Acquired the start mutex.
[Tue Sep 07 10:23:01 2010] [notice] Child 8016: Starting 250 worker threads.
[Tue Sep 07 10:23:01 2010] [notice] Child 8016: Listening on port 80.
[Tue Sep 07 10:23:02 2010] [notice] Child 632: All worker threads have exited.
[Tue Sep 07 10:23:02 2010] [notice] Child 632: Child process is exiting
[Tue Sep 07 10:27:00 2010] [notice] Parent: Received restart signal -- Restarting the server.
[Tue Sep 07 10:27:00 2010] [notice] Child 8016: Process exiting because it reached MaxRequestsPerChild. Signaling the parent to restart a new child process.
[Tue Sep 07 10:27:00 2010] [notice] Apache/2.0.63 (Win32) mod_jk/1.2.26 configured -- resuming normal operations
[Tue Sep 07 10:27:00 2010] [notice] Server built: Jan 17 2008 22:58:29
[Tue Sep 07 10:27:00 2010] [notice] Parent: Created child process 3560
[Tue Sep 07 10:27:00 2010] [notice] Disabled use of AcceptEx() WinSock2 API
[Tue Sep 07 10:27:00 2010] [notice] Child 3560: Child process is running
[Tue Sep 07 10:27:01 2010] [notice] Child 8016: Released the start mutex
[Tue Sep 07 10:27:01 2010] [notice] Child 3560: Acquired the start mutex.
[Tue Sep 07 10:27:01 2010] [notice] Child 3560: Starting 250 worker threads.
[Tue Sep 07 10:27:01 2010] [notice] Child 3560: Listening on port 80.
[Tue Sep 07 10:27:34 2010] [notice] Child 8016: Waiting 14370 more seconds for 1 worker threads to finish.
[Tue Sep 07 10:28:06 2010] [notice] Child 8016: Waiting 14340 more seconds for 1 worker threads to finish.




[Tue Sep 07 14:49:31 2010] [notice] Child 8016: Terminating 1 threads that failed to exit.

子プロセスの8016がすぐに終了せず終了待機してから終了してました。

■質問内容

[質問1]
 本現象のように子プロセスがすぐに削除されない現象はどのような時に発生するものでしょうか?

[質問2]
 削除待ちをしている子プロセスで処理しているリクエスト(設定上10リクエスト)は消失されてしまうのでしょうか?
 (access.logにとても遅れたタイミングでリクエスト内容が出力されていました。)

勉強不足で大変恐縮ですが、とても困ってます。
どなたかご教授頂ければと思います。

宜しくお願い致します。

--
入退会・変更・配送一時停止は以下へ
http://www.apache.jp/mailman/listinfo/apache-users


投稿者 xml-rpc : 2010年10月 8日 15:09
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/98986
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。