Apache Bench 在同一页面上报告不同的结果

Apache Bench 在同一页面上报告不同的结果

我在设置 Apache2/fcgi/php-fpm 服务器时遇到了一点问题。

  1. 如果我运行:ab -n 15000 http://mysite.com/index.php。Apache Bench 返回每个请求的时间:41ms,但文档长度:0 字节,传输的 html:0 字节。传输速率:7.9Kb/s。

  2. 如果我运行:ab -n 15000 http://mysite.com/Apache Bench 返回每个请求的时间:83ms 以及准确的文档长度和 html 传输总量。

APC 缓存状态报告两次测试的命中数相同。此外,Apache Bench 报告两次测试均未出现错误。总体而言,任何测试站点均未出现错误,所有日志均正常,等等。DocumentRoot 设置为 index.php,因此我预计这两次测试运行都会产生类似的结果。

我有两个问题:

  1. 为什么会有这种差异?
  2. 哪一个是正确的结果?

我见过很多类似测试 1 的结果(毫无疑问),但坦白地说,从我自己和其他人的经验来看,准确的测试很难实现。即使没有像这样的愚蠢问题。

答案1

@theuni 感谢您的回复 - 是的,我在发布之前检查了所有显而易见的东西,它们都解析为 index.php,所以这不是问题,我在运行 curl -I 后解决了这个问题http://mysite.com/index.php这表明 Wordpress(呃)将 index.php 重定向到 /。因此在测试 1 中,ab 仅报告基于重定向部分的时间,即使 index.php 仍在运行并像往常一样影响服务器负载部分。所有这些基准测试可能都是无效的,正如我在第一篇文章中提到的那样,很多网络上的基准测试结果。我认为网络上的大量基准测试结果只是基准测试重定向,而不是应用程序本身。从我目前的理解来看,结果为 document length: 0 bytes 和 html transfered: 0 bytes 的基准测试似乎是无效的。Google +“ab”+“document length: 0” 产生了 75,600 次点击

@Marko 感谢编辑,因为我是新手,我不知道如何格式化这些命令字符串,而且我无法在此站点上找到该信息。尽管我在浏览时确实找到了一些有关格式化帖子的信息。

我还注意到在 serverfault 上,另一个主题下有一个相关问题,与这个问题基本相同。(没有可用的参考资料。)这个问题被版主关闭,理由是“本地化”。(呃)如果那个帖子保持开放,很多人可能会得到帮助。

相关内容