Apache が「要求の読み取り」状態の接続でいっぱいになる

Apache が「要求の読み取り」状態の接続でいっぱいになる

リクエストが多すぎて停止しているApacheに問題があります。サーバーステータスページを見ると、ほとんどの接続が「リクエストの読み取り中」の状態ですが、完了していないことがわかります。グレースフルリスタートを実行すると、「リクエストの読み取り中」の接続はすべて消えます。再起動に時間がかからないため、信念接続はもう使用されません。

Apache は、一定時間 (30 分以上) にわたってこれらのリクエストでいっぱいになります。ただし、接続が使用されなくなったら、タイムアウトによってこれらの接続が切断されるはずですが、これは発生しないか、タイムアウトが大きすぎます。

どのタイムアウトでこれらの接続を切断すべきか知っている人はいますか、それとも私が間違ったポイントを探しているのでしょうか?

セットアップの詳細:
mod_jk 1.2.10 を搭載した HP-UX 上の apache 2.0.55 状態
「要求の読み取り」の接続のほとんどは、mod_jk 経由の tomcat バックエンドへの接続 (クライアント --> HP-UX apache --> Tomcat) ですが、すべてではありません。mod_jk
は非常に古いバージョンですが、すぐに更新される予定です。

しかし、私は mod_jk を疑っていません。なぜなら、新しい mod_jk を持つ別の Apache に接続をリダイレクトし、その後 Tomcat に接続をリダイレクトした場合 (クライアント --> HP-UX Apache --> Linux Apache --> Tomcat)、同じ効果が現れたからです。常に HP-UX Apache が "RR" 接続でいっぱいになっています。

答え1

workers.properties ファイルの内容は何ですか? socket_timeout を使用していますか?

  socket_timeout    0   Socket timeout in seconds used for the communication
                        channel between JK and remote host. If the remote host
                        does not respond inside the timeout specified, JK will
                        generate an error, and retry again. If set to zero
                        (default) JK will wait for an infinite amount of time on
                        all socket operations.

デフォルトでは、socket_timeout は無限です。

答え2

httpd.conf の Apache のタイムアウト値は何ですか? また、keepalive はオンですか、オフですか? TimeOut が長すぎると、現在発生している問題が簡単に発生します。

関連情報