如何验证AB回复?

时间:2015-08-03 14:14:40

标签: apachebench

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

  • 强制它将单个请求的响应输出到STDOUT OR
  • 要求它检查某些文本片段是否包含在响应正文中

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

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

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

2 个答案:

答案 0 :(得分:12)

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

  

-v详细程度   设置详细级别 - 4及以上打印标题信息,3及以上打印响应代码(404,200等),2及以上打印警告和信息。

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

所以它会是:

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

这会吐出响应标头和HTML内容。 3值足以检查重定向标题。

我没有尝试将它用于Lynx,但grep工作正常。

答案 1 :(得分:3)

Apache Benchmark非常适合粗略浏览一下您的系统,但不是很复杂。我目前正在尝试调整网络服务,并且在考虑转移身体时发现AB没有测量完整的响应时间。另外,正如您所提到的,您无法验证返回的内容。

我目前的建议是Apache JMeter。 http://jmeter.apache.org/

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