在localhost和hostname上进行ab测试之间有区别吗?

时间:2017-02-28 14:01:33

标签: linux apache benchmarking load-testing web-traffic

我使用ab作为ab -n 10000 -c 1000 http://example.com/path来测试我的网站,并得到了160 #/second的回复。但是,当我将其作为ab -n 10000 -c 1000 http://localhost/path进行测试时,响应完全不同1500 #/second。 为什么呢?

2 个答案:

答案 0 :(得分:1)

通常,您不应该在测试中的应用程序所在的同一主机上运行负载生成器(ab或任何其他工具),因为负载测试工具本身是非常耗费资源的,并且您可能遇到以下情况测试和负载生成器正在努力争取相同的CPU,RAM,网络,磁盘,交换等。

因此,我建议您从Intranet中的另一个主机运行ab,这样您就可以获得更清晰的结果而不会产生相互干扰。请记住在正在测试的应用程序和负载生成器端使用vmstatiostattopsar等监控基准操作系统运行状况指标 - 它应该让您更清楚关于发生了什么以及感知负载的影响是什么。

您可能还想尝试使用更高级的工具,因为ab的负载测试功能非常有限,请查看Open Source Load Testing Tools: Which One Should You Use?文章,了解有关最主要的免费和开源负载测试解决方案的更多信息(所有列出的工具都是跨平台的,因此您可以在Linux上运行它们

答案 1 :(得分:1)

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

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