1

ab我使用as测试我的网站,ab -n 10000 -c 1000 http://example.com/path并得到响应 as 160 #/second。但是当我测试它时ab -n 10000 -c 1000 http://localhost/path,响应完全不同1500 #/second。为什么?

4

2 回答 2

1

通常,您不应该ab在被测应用程序所在的同一主机上运行负载生成器(或任何其他工具),因为负载测试工具本身非常占用资源,并且您可能会遇到被测应用程序和负载生成器正在为相同的 CPU、RAM、网络、磁盘、交换等。

所以我建议ab从你内网的另一台主机上运行,​​这样你就可以在没有上述相互干扰的情况下获得更清晰的结果。请记住在被测应用程序和负载生成器端使用vmstatiostattopsar等来监控基线操作系统健康指标——它应该让您更清楚地了解正在发生的事情以及感知负载的影响。

您可能还想尝试更高级的工具,因为ab负载测试功能非常有限,请查看开源负载测试工具:您应该使用哪个?文章以获取有关最突出的免费和开源负载测试解决方案的更多信息(所有列出的工具都是跨平台的,因此您将能够在 Linux 上运行它们)

于 2017-02-28T14:35:12.423 回答
1

据我了解,您正在以 2 种不同的配置测试同一个网站:

测试您的远程网站涉及您的计算机和远程服务器之间的网络连接。在本地测试时,所有都通过环回网络接口,这可能比您的 DSL 互联网连接快几个数量级。

于 2017-02-28T15:31:00.300 回答