压力测试是评估程序本身的性能和硬件投入的一个好方法,web压力测试工具有很多,apache自己带的了ab,MS也有自己的工具(Microsoft Web Application Stress Tool),还有Mercury LoadRunner,以及openSTA等等。
下面介绍的是siege和webload两个开源测试工具,其中siege是一个如ab一样基于命令行的工具,但它支持比ab更多的功能和参数,可以生成简单的配置文件,可以给定一系列URL等,而且简单易用,看一下help就可以用它来工作了。我在linux和cygwin下都编译通过并且使用过,但在winxp+cygwin的情况下有的时候会因tcp链接数用光而报错。webload是一个像LoadRunner一样的完整压力测试IDE,有单独的脚本录制工具,和压力测试编辑工具,可以调节包括压力增加的步长和增长方式等很多的细节,还有它可以通过如snmp这样的协议直接读取被压服务器的压力状况等,它录制web IE活动的脚本是Javascript,并且有自己完整的API,但感觉性能上应该没有LoadRunner用LCC来编译录制的脚本的好。作为一个开源项目,webload的优点是有非常详尽的文档,根据它的向导和手册能很容易的做出自己的测试用例。 |