我正在使用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 数据文件一次,因此在测试运行期间更改其内容不是一种选择。
有什么建议么?
我正在使用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 数据文件一次,因此在测试运行期间更改其内容不是一种选择。
有什么建议么?
为此,您将需要使用功能更全面的基准测试工具,例如jMeter。
添加我对 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 是没有问题的。
这是 ab 或补丁的补丁版本: 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/
邮件内容:
{"data1":1, "data2":"4"}
{"data0":0, "x":"y"}
更新2: