TKC Works

ギジュツ的なメモ、読書感想文など

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を一桁にするとエラーが起こらなくなった。チューニングしながら最適値を見つける必要があるが。