我正在测试使用 ngx_srcache 模块的 couchbase_nginx 模块将数据存储在 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'
感谢帮助。