CouchbaseのPHP SDKでハマったこと
Nginxとphp-fpmの組み合わせで、Phalconで作ったWebアプリケーションからCouchbaseに接続してたんだけど、
"502 Bad gateway"とか "PHP Fatal error: Allowed memory size of ..."が頻発して困った。
とりあえずこの辺を参考にして、
http://webhoric.com/web-dev/nginxphp-fpm-502-bad-gateway
php-fpmのmax_requests
とかphp.iniのmemory_limit
とかをガッツリ増やしてみたが変わらず。。
結果はむしろphp-fpmのmax_requestsを増やしすぎたのがよくなかった。
CouchbaseのPHP SDKは接続にコストがかかるからあまり多重に繋ぐなと書いてあった。
http://docs.couchbase.com/developer/php-2.0/performance-tuning.html
おそらくphp-fpmの子プロセスが死なずに残り続けてたのでSDKがCouchbaseに繋がる限界数に達してた。。
とりあえずmax_requests
を一桁にするとエラーが起こらなくなった。チューニングしながら最適値を見つける必要があるが。