web-dev-qa-db-ja.com

Apache httpd(+ mod_proxy_ajp)が接続をドロップする原因は何ですか

次のVirtualHostを構成しています(Apache 2.2.22)

<VirtualHost *:80>
    ServerName ************

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ErrorLog /var/log/Apache2/dalo-lt_error_log
    LogLevel warn
    TransferLog /var/log/Apache2/dalo-lt_access_log

    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/

    <Location />
        Order allow,deny
        Allow from all
    </Location>

</VirtualHost>

私のTomcatのserver.xml(7.0.39)には次のようなものがあります。

<Connector port="8009" protocol="AJP/1.3"
           redirectPort="8443"
           connectionTimeout="60000"
           maxConnections="36864"
           maxThreads="600" />

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           maxConnections="36864"
           maxThreads="600"
           redirectPort="8443" />

Vhost:80 + ajpを介してストレステストを実行すると、特定の時点以降に接続が切断されたことがわかります。ただし、Tomcatのhttpコネクタ(:8080)を介して直接テストを実行すると、接続の切断はまったく見られません。

これを引き起こしている原因を特定するための最良の方法は何ですか?

完全を期すために、ここに私のApache2.confからのいくつかの設定があります

<IfModule mpm_prefork_module>
    StartServers          10
    MinSpareServers       10
    MaxSpareServers      20
    MaxClients          500
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_worker_module>
    StartServers          4
    MinSpareThreads      50
    MaxSpareThreads      450
    ThreadLimit          256
    ThreadsPerChild      150
    MaxClients          300
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_event_module>
    StartServers          4
    MinSpareThreads      50
    MaxSpareThreads      450
    ThreadLimit          256
    ThreadsPerChild      150
    MaxClients          300
    MaxRequestsPerChild   0
</IfModule>

Updateserver-status?autoを要求すると、 以下 が発生しますが、負荷テストのフェーズ中に要求がドロップされます-だから、余裕のある労働者などがいるように見えます

1
jlb

Apache Webサーバーは、要求が多すぎると接続の切断を開始します。スコアボードを確認するためにmod_statusを使用できます。スコアボードがいっぱいの場合は、ワーカーの数を増やすことができます。 (増加した労働者があなたの環境に合っているかどうかを調査する必要があります)

1
harcos