highlight js

2013年7月18日木曜日

php-fpmからtd-agentに書込でソケット通信エラー

環境としては
フロント nginx/php-fpm からソケット通信でLocalのtd-agentに書込
td-agentは別インスタンスのLog Aggregatorのtd−agentに転送。
※追記 2013/08/05 上記はVer 1.1.13-0  においてです。Ver記載漏れm(_ _)m

※2013/09 追記。1.1.15-0 に Ver Upして下記エラー出なくなりました。素早い改修に多謝!

してるのだが、

300 / sec くらいでLocalのtd-agentに書込をしていたら下記のエラーが偶発的に発生。
Fluent\Logger\FluentLogger stream_socket_client(): unable to connect to unix:///var/run/td-agent/td-agent.sock (Resource temporarily unavailable)

とりあえず
php-fpmのpm.max_childrenを増やす
>改善されず

その後、ソケット通信の最大数を疑ったところ、@shoma から
net.core.somaxconn いじれとアドバイス受けて変更

          $ echo "net.core.somaxconn=4096" >> /etc/sysctl.conf; 
          $ sysctl -p; 

          $ sysctl -a | grep somaxconn

が、まだ改善されず。。


phpredisのgithubだが下記にstream_socket_clientの文言発見
でSyncookieをOffにするべきと提示されているので、対象のSyncookieをOffに
          $ echo 0 > /proc/sys/net/ipv4/tcp_syncookies 

でもまだエラー出る。。。


うーん。



@kzk_moverからのコメントを頂いたので、Ver 1.1.15での検証後、状況を追記します。