2010-04-08 110 views
15

我正在使用ab来执行一些负载测试,并且提供的查询字符串(或POST)参数在请求之间变化很重要。每次迭代更改Apache Bench所使用的POST数据

I.e.我需要向网址发送请求,例如:

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数据文件一次,因此在测试运行期间更改其内容不是一种选择。

有什么建议吗?

回答

12

您将需要使用更全面的基准测试工具,如jMeter

+0

见http://www.roseindia.net/jmeter/using-jmeter.shtml一个快速启动。 – dbernard 2013-07-31 12:51:57

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是没有问题的。

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 conte NT:

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

UPD2:

也替代 https://github.com/andboson/ab-go

+0

你可以通过这种方法分享发布数据的例子吗? 谢谢 – 2017-11-07 18:18:57