如何验证 AB 响应?

How to verify AB responses?

有没有办法确保 AB 从服务器得到正确的响应?例如:

我想确保身份验证工作正常,我测量的是目标页面的响应时间,而不是登录表单。

目前我只是将 ab -n 100 -c 1 -C "$MY_COOKIE" $MY_REQUEST 替换为 curl -b "$MY_COOKIE" $MY_REQUEST | lynx -stdin .

如果不可能,是否有更全面的替代工具可以做到这一点?

Apache Benchmark 有助于粗略地浏览您的系统,但不是很复杂。我目前正在尝试调整 Web 服务,并且发现在考虑 body 的传输时 AB 没有测量完整的响应时间。另外,正如您提到的,您无法验证返回的内容。

我目前推荐的是 Apache JMeter。 http://jmeter.apache.org/

我用它取得了更大的成功。您可能会发现响应断言对您的情况很有用。 http://jmeter.apache.org/usermanual/component_reference.html#Response_Assertion

您可以使用 man 文档中列出的 -v 选项:

-v verbosity Set verbosity level - 4 and above prints information on headers, 3 and above prints response codes (404, 200, etc.), 2 and above prints warnings and info.

https://httpd.apache.org/docs/2.4/programs/ab.html

所以会是:

ab -n 100 -c 1 -C "$MY_COOKIE" -v 4 $MY_REQUEST

这将吐出响应 header 和 HTML 内容。 3 值足以检查重定向 header.

我没有尝试将其通过管道传输到 Lynx,但 grep 工作正常。