编者按:本月初 Maxim Dounin,Nginx 最活跃的开发者之一,提交了 upstream keepalive patch,支持 http/fastcgi/memcached,除了减少和 upstream 的网络开销外,也意味着能反向代理 http chunked 响应了!搜狐技术部CMS组的同学进行了一个简单的测试:
---------- 已转发邮件 ----------
发件人: 韩孝冰
日期:
2011年8月8日 下午3:51
主题: HttpUpstreamKeepalive效果瞠目结舌
HttpUpstreamKeepalive真的很牛X啊。
siege
-c200 -b -t10M -lsiege.log -H"Accept-Encoding: gzip,deflate" -i -f
urls.txt
siege的结果:
Lifting the server siege...
done.
Transactions: 11125884
hits
Availability: 100.00
%
Elapsed time: 599.53 secs
Data
transferred: 8139.93 MB
Response time: 0.01
secs
Transaction rate: 18557.68
trans/sec
Throughput: 13.58
MB/sec
Concurrency:
199.11
Successful transactions: 11125884
Failed
transactions: 0
Longest transaction:
9.01
Shortest transaction:
0.00
对比之前的压测结果,tps提升了7倍,100%成功响应。并发达到参数设置的上限,预示可能还有提升空间。
链接占用也很稳定,部了nginx+memcached的那台机器,time_wait在60000左右,总链接数不找过64000。
netstat
-at | awk '/^tcp/{a[$6]++}END{for(i in a
){printf("%s\t%d\n",i,a[i])}}'
TIME_WAIT 59830
FIN_WAIT1
59
FIN_WAIT2 1
ESTABLISHED 3255
SYN_RECV 35
LISTEN
10
最后是loadaverage,2.2左右。