我曾尝试使用Apache基准(AB)来testing我的服务器。 我进行了两次相同的testing,一次在本地Mac桌面上,一次在我租用的Media Temple服务器上。
编辑:澄清,我正在testing相同的远程服务器,我只是在不同的位置运行ab 。
这两个结果有很大的差别。 是由于我的ISP的带宽限制或我的Mac桌面的其他限制造成的巨大差异? 哪个结果更准确地反映了服务器的性能?
媒体寺庙结果
Concurrency Level: 50 Time taken for tests: 10.397 seconds Complete requests: 7911 Failed requests: 0 Write errors: 0 Total transferred: 36355218 bytes HTML transferred: 33767013 bytes Requests per second: 791.07 [#/sec] (mean) Time per request: 63.206 [ms] (mean) Time per request: 1.264 [ms] (mean, across all concurrent requests) Transfer rate: 3550.16 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 15 23 142.9 17 3019 Processing: 20 38 28.3 37 1093 Waiting: 20 36 23.8 36 1092 Total: 36 62 145.5 54 3063
本地Mac桌面结果
Concurrency Level: 50 Time taken for tests: 10.159 seconds Complete requests: 169 Failed requests: 0 Write errors: 0 Total transferred: 790168 bytes HTML transferred: 733924 bytes Requests per second: 16.64 [#/sec] (mean) Time per request: 3005.589 [ms] (mean) Time per request: 60.112 [ms] (mean, across all concurrent requests) Transfer rate: 75.96 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 30 2438 3568.0 379 9217 Processing: 0 95 714.8 3 9291 Waiting: 0 41 68.1 2 191 Total: 137 2533 3579.5 441 9354
除非您可以设法复制远程主机上的硬件,软件运行等,否则本地基准testing无法给您提供任何关于您的网站在远程主机上执行的指示。
由于你是两个完全不同的系统的基准,你所得到的结果是不同的。 我build议您考虑远程基准testing的结果,因为这应该反映(并给出一个想法)您的应用可以支持多less个连接。
另外, 攻城是一个非常棒的工具。 ab和siege都可以很容易地用脚本进行自动化和后期比较的基准testing结果,但是siege允许请求随机页面而不是一个特定的URL,从而获得更现实的基准。
希望这有帮助,祝你好运。
我将得出结论,在我的公寓的Mac桌面上有本地限制。 这些限制可能在桌面,路由器或ISP级别。
无论如何,我的Mac桌面无法在远程服务器上执行abtesting(我们称之为服务器IP 66.55.44.33),与数据中心中另一台服务器(让此服务器为88.77.66.55)处于同一级别。
所以,当我用我的Mac桌面来testing66.55.44.33时,结果显示16请求/秒。
当我使用88.77.66.55来testing66.55.44.33时,结果显示800 req / s。
请注意,正在testing的服务器(66.55.44.33)驻留在亚特兰大的一个数据中心。 我的本地桌面在北卡罗来纳州罗利市。 第二台服务器(88.77.66.55)驻留在菲尼克斯的一个数据中心。