http - 使用 `Cannot mix POST with other methods` 时出现 `ab -p` 错误

标签 http unix benchmarking apachebench

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

Cannot mix POST with other methods.

问题是我实际上并没有将 POST 与其他方法混合使用。这是我的完整命令:

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

最佳答案

这是由于 ab 处理命令行参数的方式的特殊性。当您使用 -p 时,它会自动为您将方法设置为 POST,这发生在 -m 被解析之前。所以当它解析-m时,它看到已经设置的方法不为null并抛出错误。它应该做的 (IMO) 是默默地忽略参数,如果它的值与隐式设置的值相同的话。

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

因此,当您使用 -p- 时,您应该避免此错误的做法是永远不要指定 -m.

(来源:the ab.c source file)

关于http - 使用 `Cannot mix POST with other methods` 时出现 `ab -p` 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40794007/

相关文章:

java - 如何使用 Apache http 客户端进行 httpDelete?在java中

f# - 如何限制 BenchmarkDotNet 作业仅在特定平台上运行?

performance - Web 应用程序性能基准的建议

http - 浏览器的永久 HTTP 重定向

java - https 服务器上的请求方法

multithreading - 在不同线程中使用时的 OverbyteICS HTTP 超时

linux - 如何在Linux终端中打印文件中最频繁的行?

linux - 排序命令不适用于大文件

linux:目录中的最新文件,不包括目录和 .文件

c++ - preempt_disable/enable 和 raw_local_irq_save/restore 在基准测试中的作用