话说性能测试

其实很多人做性能测试的时候,使用的方法都很粗糙,很多因素都没有考虑,只是单纯的使用ab,就得出nginx比apache多多少多少倍等类似的结论,好笑。
就拿nginx和apache比较而言吧,首先说一下nginx在linux工作于epoll模式,而apache默认是prefork工作模式,这个本来就没法比。但apache (MPM=event)工作模式就是采用epoll的机制,相同工作模式下比较才有意义啊。另一个一般web服务都支持pipeline(keep alive on/off)c传输模式,默认值各不相同,测试首先保证相同的传输模式(keep alive on 或 keep alive off)下进行啊,一股脑的测试,得出所谓的结论,能准确么?只能说经验过浅阿,另外,性能测试还受制于硬件环境/网络带宽/是否本机测试还是远程测试/测试内容/测试数据大小等等。


硬件环境不同,测试结论肯定不同,这个很简单。

网络带宽不同带来的影响,有些情况在100Mb/s下,1000Mb/s,TPS还是有很大差异的。

是否本机测试,直接对本机所谓的测试是不经过network,往往TPS会很高。

测试内容,动态/静态之间的差异我就不提了,静态内容一般是会被cache掉的,动态内容某个情况也会cache,TPS还是不算准确。

测试数据大小,这个一两句话说不清楚,如下图:(带宽/TPS/Object Size)关系,很有用的。
[img]http://haproxy.1wt.eu/img/bench.png[/img]

关于传输模式keep alive on/off的说明,我找到一片老外的测试结果。


[quote]
Tests were made on my desktop PC (Intel Core2 CPU 6700 @ 2.66GHz) inside VMWare environment (memory: 256 MB, Debian Etch) with apache-benchmark tool, fetching 32 B long static text file.

Compared versions (configuration files will follow soon):

Apache 1.3.34
Apache 2 (worker) 2.2.3
Litespeed 3.3.4
thttpd 2.23beta1-5
Nginx 0.5.35
Lighttpd 1.4.13
Cherokee 0.5.5
Boa 0.94.14rc21-0.2
Keep Alive On
[img]http://blog.arh.cc/uploads/2008-02-13_webservers_benchmark/keepalive_on.png[/img]
Keep Alive Off
[img]http://blog.arh.cc/uploads/2008-02-13_webservers_benchmark/keepalive_off.png[/img]
[/quote]
单说他的测试结果无论如何,至少,人家还知道Keep Alive On/Off的差异,分开比较。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值