使用`ab -p`时,“无法将POST与其他方法混合”错误

时间:2016-11-24 20:20:44

标签: http unix benchmarking apachebench

我正在使用ApacheBench(ab)对我的网站进行压力测试。当我指定方法-m POST和一些postdata -p {datafile}时,我会收到消息

  

无法将POST与其他方法混合使用。

麻烦的是我实际上并没有将POST与其他方法混合使用。这是我的全部命令:

ab -m POST -p postdata.txt -n 1000 -c 100 http://example.com/

1 个答案:

答案 0 :(得分:6)

这是由于ab处理命令行参数的方式的特殊性。当您使用-p时,它会自动将方法设置为POST,这会在解析-m之前发生。因此,当它解析-m时,它会发现已设置的方法不为null并抛出错误。 做什么(IMO)如果其值与隐含设置的值相同,则默认忽略该参数。

请注意,当您尝试执行PUT请求时,上述所有内容也适用;例如,ab -m PUT -u putdata.txt

因此,当您使用-m-p时,应该做以避免此错误的行为永远不会指定-u

(资料来源:the ab.c source file