我正在使用ab进行一些负载测试,重要的是要确保提供的查询字符串(或POST)参数在不同请求之间发生变化。
也就是说,我需要向URL发出如下请求:
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数据文件,因此在测试运行期间不能更改其内容。
有什么建议吗?
发布于 2010-04-21 23:49:37
为此,您需要使用功能更全的基准测试工具,如jMeter。
发布于 2010-11-23 05:28:23
添加我对jMeter...it工作非常好的建议!
您还可以创建一个脚本,该脚本创建第二个脚本,如下所示:
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没有问题。
发布于 2015-06-13 14:39:56
这里是ab或patch的补丁版本:http://www.andboson.com/?p=1372
这个版本包含补丁http://chrismiles.info/dev/testing/ab还可以逐行读取很多后期数据
更新:示例请求:
./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://stackoverflow.com/questions/2602841
复制相似问题