Hello!
2014-06-18 19:03 GMT-07:00 李鹏:
> 我正在测试HttpRedis2Module(ngx_openresty-1.7.0.1.tar.gz),发现效果不是很好,我觉得是我的参数设置有问题,但又找不到问题原因,按照网上的方法也测试了,改善不是很大,所以麻烦您能给指点下。
>
> 我的测试结果是单个进程单线程不断访问(死循环),发现到一定数量的时候连接不可用了,然后再运行程序,又会重复问题。如果用apache 的ab,并发访问
> n=5000 c=5000也不会出错,如果改成n=15000,
> c=5000会出现连接问题,检查网络状况,发现有许多等待redis返回的请求或者TIME_WAIT。所以我觉得是lua和redis之间有什么问题,我没有处理好,但又不确定,所以麻烦您给解解。
>
在使用 ab 压测时,应当总是加上 -k 选项,即启用 HTTP 1.0
keepalive,否则你很容易把欠系统的临时端口用尽。你描述的现象很可能就是这个问题。
同时,在压测时,应该时刻观察 nginx 的错误日志文件里是否有报错。
另外,你要小心 nginx 把许多时间花费在刷错误日志和访问日志文件上面。
最后,可以使用火焰图工具进行更细粒度的性能分析:http://openresty.org/#Profiling
另外,请加入 openresty 中文邮件列表讨论这样的问题,谢谢合作!见 https://groups.google.com/group/openresty
同时抄送该列表。
Best regards,
-agentzh