私は、couchbase_nginxモジュールとngx_srcacheモジュールを使って、couchbaseにデータを保存するためのテストを行っています。https://github.com/couchbaselabs/couchbase-nginx-moduleガイドに従ってセットアップをコンパイルしてインストールしましたが、問題は発生しませんでした。
数回ブラウジングした後、Nginx CPU使用率が100%になり、ブラウザクライアントは残りのデータをダウンロードできず、nginxプロセスがフリーズします。これが私の設定です。
# ./sbin/nginx -V
nginx version: nginx/1.3.7
built by gcc 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC)
configure arguments: --prefix=/opt/nginx-couchbase --with-debug --add-module=../nginx- couchbase-module-0.3.1 --add-module=./contrib/srcache-nginx-module-master --add-module=./contrib/memc-nginx-module-master
nginx.conf:
....
location /cb {
internal;
set $couchbase_key $arg_key;
set $couchbase_cmd $arg_cmd;
set $couchbase_val $arg_val;
couchbase_connect_timeout 6ms;
couchbase_timeout 3ms;
add_header X-Couchbase-Flags $couchbase_flags;
couchbase_pass localhost:8091,127.0.0.1:8091,localhost bucket=default;
}
location / {
set $key $uri$args;
srcache_fetch GET /cb key=$key;
srcache_store PUT /cb key=$key;
srcache_store_statuses 200 301 302;
proxy_pass http://192.168.0.61:8080;
proxy_set_header Accept-Encoding "";
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
}
...
# rpm -qa | grep couchbase
couchbase-server-2.0.1-170.x86_64
libcouchbase2-core-2.1.2-1.x86_64
# cat cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.1 (Santiago)
nginxのエラーログはここにあります -http://pastebin.com/JqgTkZmV
以下のURLを使用して設定/取得し、問題があればストレステストを実行できることに注意してください。
curl -v 'http://localhost:8080/cb?cmd=set&key=foo&val=bar'
curl -v 'http://localhost:8080/cb?cmd=get&key=foo'
助けていただければ幸いです。