我正在使用ApacheBench(ab
)对我的网站进行压力测试。当我指定方法-m POST
和一些postdata -p {datafile}
时,我会收到消息
无法将POST与其他方法混合使用。
麻烦的是我实际上并没有将POST与其他方法混合使用。这是我的全部命令:
ab -m POST -p postdata.txt -n 1000 -c 100 http://example.com/
答案 0 :(得分:6)
这是由于ab
处理命令行参数的方式的特殊性。当您使用-p
时,它会自动将方法设置为POST
,这会在解析-m
之前发生。因此,当它解析-m
时,它会发现已设置的方法不为null并抛出错误。 应做什么(IMO)如果其值与隐含设置的值相同,则默认忽略该参数。
请注意,当您尝试执行PUT
请求时,上述所有内容也适用;例如,ab -m PUT -u putdata.txt
。
因此,当您使用-m
或-p
时,应该做以避免此错误的行为永远不会指定-u
。
(资料来源:the ab.c
source file)