ランダムなページでこのエラーが頻繁に発生するのは、接続が〜+ 10K接続の場合(netstat -an | grep 80 | wc -l)です。これは、空きメモリが+ 10GBあり、サーバーの負荷が3未満のときに発生します。
私の関連する設定:
/etc/php5/fpm/php.ini
memory_limit = 1024M
default_socket_timeout = 120
/etc/php5/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 30
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 5
;pm.max_requests =20000 #uncommented with any value didn't fixed
request_terminate_timeout = 120s
また、上記の値(子60、開始10、最大10)を2倍にしました。
/etc/nginx/nginx.conf
worker_connections 4024;
keepalive_timeout 10;
Varnishとmemcachedの背後にあるNginx自体が有効になっています。一般に、ページのレンダリングはかなり高速です。
これは非常に一般的な問題のようで、役立つ解決策も、考えられる原因の分析も見つけることができませんでした。だからあなたのヒント/解決策は大歓迎です。
残念ながら、これ以上の詳細なしにこの質問に明確な答えを出すことは困難です。
私はいくつかの推測をしていますが:
私の最初の推測は、php5-fpmワーカーソケットの負荷に対するリッスンバックログが小さすぎることです。 Linuxのデフォルトでは、バックログキューの長さは128です。
それを増やすには、
net.core.somaxconn
sysctl値。listen.backlog
php5-fpm構成設定。たとえば、両方を2048に増やして、それが役立つかどうかを確認することができます。
2番目の推測は、nginxワーカーのプロセスごとの最大オープンファイル記述子の制限です。それを増やす適切な方法は、ディストリビューションによって異なります。 Ubuntu/Debianでは、/etc/default/nginx
ファイルとworker_rlimit_nofile
nginx構成設定。