我正在尝试弄清楚如何使用 ApacheBench 并对我的网站进行基准测试。我安装了默认站点项目(它是 ASP.NET MVC,但如果您不是 .NET 人员,请不要停止阅读)。
我没有改变任何东西。添加新项目。将配置设置为 RELEASE。在没有调试的情况下运行。(所以它处于实时模式)。是的,这是内置的网络服务器,而不是生产级 IIS 或 Apache 或其他任何东西。
所以这是结果: -
C:\Temp>ab -n 1000 -c 1 http://localhost:50035/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: ASP.NET
Server Hostname: localhost
Server Port: 50035
Document Path: /
Document Length: 1204 bytes
Concurrency Level: 1
Time taken for tests: 2.371 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 1504000 bytes
HTML transferred: 1204000 bytes
Requests per second: 421.73 [#/sec] (mean)
Time per request: 2.371 [ms] (mean)
Time per request: 2.371 [ms] (mean, across all concurrent requests)
Transfer rate: 619.41 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.1 0 16
Processing: 0 2 5.5 0 16
Waiting: 0 2 5.1 0 16
Total: 0 2 5.6 0 16
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 16
95% 16
98% 16
99% 16
100% 16 (longest request)
C:\Temp>
现在,我不确定我应该看什么。
首先,我在一秒钟后请求的数量。因此,如果我们要求处理 300 个请求/秒,那么这是否是说它每秒处理和平均 421 个请求?
其次,增加更多并发的原因是什么?就像,如果我在 1 个并发上有 1000 次点击,那与 2 个并发上的 500 次有什么不同?是否测试是否有任何代码阻止其他请求?
最后,我在结果中遗漏了什么重要的东西需要注意吗?
谢谢 :)