我购买了一台新服务器来迁移我的网站,因为以前的服务器时不时会出现延迟。我正在用 AB 进行一些测试,以检查这台新服务器的性能如何,并希望收到您的回复!
今天我运行的是:nginx + fcgi(Django)。
服务器有以下设置:
英特尔 (R) 至强 (R) CPU[电子邮件保护]8 种颜色 8GB DDR3 RAM 1 TB RAID 1 + 60GB SSD
我在 SSD 上运行 mysql,其余操作系统在 RAID 1 上运行。
这是我的主页 AB 的结果:
[root@usloft2613 ~]# ab -n 1000 -c 20 http://50.30.32.155/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 50.30.32.155 (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
Finished 1000 requests
Server Software: nginx/0.8.55
Server Hostname: 50.30.32.155
Server Port: 80
Document Path: /
Document Length: 218 bytes
Concurrency Level: 20
Time taken for tests: 24.505647 seconds
Complete requests: 1000
Failed requests: 909
(Connect: 0, Length: 909, Exceptions: 0)
Write errors: 0
Non-2xx responses: 929
Total transferred: 61143197 bytes
HTML transferred: 60979957 bytes
Requests per second: 40.81 [#/sec] (mean)
Time per request: 490.113 [ms] (mean)
Time per request: 24.506 [ms] (mean, across all concurrent requests)
Transfer rate: 2436.58 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 116 482 609.7 288 6157
Waiting: 115 480 609.4 283 6156
Total: 116 482 609.7 288 6157
Percentage of the requests served within a certain time (ms)
50% 288
66% 358
75% 438
80% 541
90% 1078
95% 1801
98% 2399
99% 3060
100% 6157 (longest request)
我通常会查看的部分是:每秒请求数:40.81 [#/秒](平均值)。
这个数字对我的服务器硬件来说合适吗?
这是否意味着我的网站可以同时处理 40 个用户?
我还应该考虑 AB 的其他重要数据吗?
我希望这个服务器支持100+在线用户,可以吗?
答案1
是吗?不是吗?如果每个页面请求都是从头开始计算第 10 亿个斐波那契数会怎么样?或者如果它们只是图像加载会怎么样?如果不知道您正在执行什么样的工作量,没有人能说清楚。
话虽如此,这并不意味着你可以同时处理 40 个用户。这意味着你可以同时处理 40 个要求。因此,如果有 100 个在线用户每 2.5 秒发出一次请求,您就能够处理该请求。您需要查看您的流量模式,看看您可以预期什么样的流量——许多统计库会根据您的访问日志告诉您每秒的请求数,因此这可能是一个不错的起点。