每次迭代更改Apache Bench使用的POST数据

时间:2010-04-08 19:35:08

标签: performance apache benchmarking apachebench

我正在使用ab进行一些负载测试,并且提供的查询字符串(或POST)参数在请求之间发生变化非常重要。

即。我需要向以下网址发出请求:

http://127.0.0.1:9080/meth?param=0
http://127.0.0.1:9080/meth?param=1
http://127.0.0.1:9080/meth?param=2
...

正确行使申请。

ab似乎只在启动时读取提供的POST数据文件一次,因此在测试运行期间更改其内容不是一种选择。

有什么建议吗?

3 个答案:

答案 0 :(得分:13)

为此,您需要使用功能更全面的基准测试工具,例如jMeter

答案 1 :(得分:0)

添加我对jMeter的推荐......它的效果非常好!

您还可以创建一个脚本,使用以下内容创建第二个脚本:

ab -n 1 -c 1'http://yoursever.com/method?param = 0'& ab -n 1 -c 1'http://yoursever.com/method?param = 1'& ab -n 1 -c 1'http://yoursever.com/method?param = 2'& ab -n 1 -c 1'http://yoursever.com/method?param = 3'& ab -n 1 -c 1'http://yoursever.com/method?param = 4'&

但是,如果您尝试模拟负载并观察服务器,那么这只是非常有用。如果要检查ab性能,则必须整理实际基准。那时我只使用jMeter。对于我的使用,我只需要模拟负载,并且ab进程足够轻,这样运行100就没问题了。

答案 2 :(得分:0)

以下是ab或补丁的修补版本: http://www.andboson.com/?p=1372

这个版本包含了补丁http://chrismiles.info/dev/testing/ab 也可以逐行读取许多后期数据

<强> UPD: 样品申请:

./ab -v1 -n2 -c1 -T'application/json' -ppostfile http://api.webhookinbox.com/i/HX6mC1WS/in/

postfile内容:

{"data1":1, "data2":"4"} {"data0":0, "x":"y"}

<强> UPD2:

也是另类 https://github.com/andboson/ab-go