2008-03-14
话说性能测试
关键字: 性能 tps
其实很多人做性能测试的时候,使用的方法都很粗糙,很多因素都没有考虑,只是单纯的使用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)关系,很有用的。
关于传输模式keep alive on/off的说明,我找到一片老外的测试结果。
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
Keep Alive Off
单说他的测试结果无论如何,至少,人家还知道Keep Alive On/Off的差异,分开比较。
就拿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)关系,很有用的。
关于传输模式keep alive on/off的说明,我找到一片老外的测试结果。
引用
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
Keep Alive Off
单说他的测试结果无论如何,至少,人家还知道Keep Alive On/Off的差异,分开比较。
发表评论
- 浏览: 33072 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
一位台湾校长的震动所有中 ...
如果这样的校长能占到中国所有学校的千分之一,今日的中国就不会是现在的这种样子了。
-- by bnmcvzx -
关于memcachefs
是采用memcached作为存储介质的一种文件系统。memcached可以运行于 ...
-- by masterkey -
关于memcachefs
和普通基于内存的文件系统相比有什么特点?
-- by 都别装了 -
nginx 0.7.1 release
我发现discuz已经在用nginx7.0,那说明这个版本已经完全可以运用于商业 ...
-- by Arden -
nginx 0.7.1 release
这是开发版
-- by 剑 事






评论排行榜