mod_cache モジュールから `cache: error returned while trying to return disk cached data` が出てキャッシュされなくなる


お世話になります

Webページにアクセスした際に、画像や CSS, JS などを別サーバから読むようにして、  
そちらを、キャッシュするようにしております。  
キャッシュには、 Apache の `mod_cache` を使っているのですが、  
アクセスが増大するタイミングで、以下のエラーが出て、その後、  
まったくキャッシュしなくなるという問題が起きており、ちょっと困っております

[code]

    [Mon Jan 05 09:43:37 2015] [error] (103)Software caused connection abort: cache: error returned while trying to return disk cached data
    
[/code]

conf設定ファイルは以下のようになっております

[code]

    ##############################
    #
    # Location  Area
    #
    ##############################
    <Location "/qr_cu/">
        ProxyPass balancer://panda_customer_cluster/
        ProxyPassReverse balancer://panda_customer_cluster/
    </Location>
    
    <Location "/qr_cl/">
        ProxyPass balancer://panda_client_cluster/
        ProxyPassReverse balancer://panda_client_cluster/
    </Location>
    
    <Location "/portal_cu/">
        ProxyPass balancer://koala_customer_cluster/
        ProxyPassReverse balancer://koala_customer_cluster/
    </Location>
    
    <Location "/idv_tl/">
        ProxyPass balancer://tool_cluster/
        ProxyPassReverse balancer://tool_cluster/
    </Location>
    
    <Location "/tgb_cu/">
        ProxyPass balancer://owl_customer_cluster/
        ProxyPassReverse balancer://owl_customer_cluster/
    </Location>
    
    <Location "/tgb_cl/">
        ProxyPass balancer://owl_client_cluster/
        ProxyPassReverse balancer://owl_client_cluster/
    </Location>
    
    ##############################
    #
    # Proxy balancer Area
    #
    ##############################
    
    <Proxy balancer://panda_customer_cluster>
        SetOutputFilter DEFLATE
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
        Header append Vary User-Agent env=!dont-vary
        BalancerMember http://xxx.xxx.xxx.xxx
    </Proxy>
    
    <Proxy balancer://panda_client_cluster>
        BalancerMember http://xxx.xxx.xxx.xxx
    </Proxy>
    
    <Proxy balancer://koala_customer_cluster>
        SetOutputFilter DEFLATE
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
        Header append Vary User-Agent env=!dont-vary
        BalancerMember http://xxx.xxx.xxx.xxx
    </Proxy>
    
    <Proxy balancer://tool_cluster>
        BalancerMember http://xxx.xxx.xxx.xxx
    </Proxy>
    
    <Proxy balancer://owl_customer_cluster>
        BalancerMember http://xxx.xxx.xxx.xxx
    </Proxy>
    
    <Proxy balancer://owl_client_cluster>
        BalancerMember http://xxx.xxx.xxx.xxx
    </Proxy>
    
    ##############################
    #
    # Chache Area
    #
    ##############################
    <IfModule mod_cache.c>
        <IfModule mod_disk_cache.c>
            CacheIgnoreCacheControl On
            CacheIgnoreNoLastMod On
            CacheIgnoreHeaders Set-Cookie User-Agent Vary Cookie Server
            CacheDefaultExpire 86400
            CacheRoot /var/www/xxxxxx/image/cache
            CacheEnable disk /qr_cu/
            CacheEnable disk /qr_cl/
            CacheEnable disk /portal_cu/
            CacheEnable disk /idv_tl/
            CacheEnable disk /tgb_cu/
            CacheEnable disk /tgb_cl/
            CacheDirLevels 6
            CacheDirLength 3
            CacheMaxFileSize 10000000
        </IfModule>
    </IfModule>
    
[/code]

この辺り([Apache/mod_cache: “Error 103 Software caused connection
abort”](https://serverfault.com/questions/491309/apache-mod-cache-
error-103-software-caused-connection-
abort))とか見てるのですが、明確な回答が見つかってないようなのですが、心当たりのある方いらっしゃいますでしょうか？

よろしくお願いいたします。

追記です

回答ありがとうございます。  
コネクション数を上げることを試してみたのですが、あまり変わりませんでした。  
ただ、その確認の際に、空きメモリを確認したところ、120MBくらいしか平均で残っておらず、アクセスが増大したタイミングで、それを全て食いつぶしてるのではないかと推測していますが、いかがでしょうか。

[code]

    -bash-4.1$ free
                 total       used       free     shared    buffers     cached
    Mem:       3924856    3803180     121676          0    1529244    1146440
    -/+ buffers/cache:    1127496    2797360
    Swap:     2097148      13844    2083304
    
[/code]

さらに追記です。mod_proxyのエラーが出ていましたので、そちらも追記します

以下のエラーがアクセス増大時に出てます。

[code]

    [Mon Jan 05 12:06:56 2015] [error] (70007)The timeout specified has expired: proxy: HTTP: attempt to connect to xxx.xxx.xxx.xxx:80 (xxx.xxx.xxx.xxx) failed
    [Mon Jan 05 12:06:56 2015] [error] ap_proxy_connect_backend disabling worker for (xxx.xxx.xxx.xxx)
    [Mon Jan 05 12:08:29 2015] [error] (70007)The timeout specified has expired: proxy: HTTP: attempt to connect to xxx.xxx.xxx.xxx:80 (xxx.xxx.xxx.xxx) failed
    [Mon Jan 05 12:08:29 2015] [error] ap_proxy_connect_backend disabling worker for (xxx.xxx.xxx.xxx)
    [Mon Jan 05 12:14:19 2015] [error] (70007)The timeout specified has expired: proxy: HTTP: attempt to connect to xxx.xxx.xxx.xxx:80 (xxx.xxx.xxx.xxx) failed
    [Mon Jan 05 12:14:19 2015] [error] ap_proxy_connect_backend disabling worker for (xxx.xxx.xxx.xxx)
    
[/code]

mod_proxyのエラーのようですが。。。  
よろしくお願いいたします。




以下は mod_cache のソースコード(mod_cache.c)の一部分で、例のエラーメッセージが出力されている部分です。

[code]

    /* kick off the filter stack */
    out = apr_brigade_create(r->pool, r->connection->bucket_alloc);
    rv = ap_pass_brigade(r->output_filters, out);
    if (rv != APR_SUCCESS) {
        if (rv != AP_FILTER_ERROR) {
            ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
                         "cache: error returned while trying to return %s "
                         "cached data",
                         cache->provider_name);
        }
        return rv;
    }
    
[/code]

問題の原因は、`ap_pass_brigade` が false を返しているからですが、ではなぜ false を返すのかと言えば、その前の
`ap_brigate_create` に問題がありそうなのです。手元に実環境がないので断定は出来ないのですが、Apache
サーバのプロセスかスレッドにアクセスが集中してコネクションプールが逼迫しているのではないか、と推測しています。  
確か、Apache
の設定に最大コネクション数を設定する変数があったのではないかと記憶しているのですが(間違っていたらごめんなさい)、それを増加させてみてはいかがでしょうか。

