网络服务器性能很差

时间:2012-07-25 12:12:39

标签: performance nginx cloudflare

所以我今天在服务器上运行了这个命令“ab -c 50 -n 5000 http://lala.la”,我得到了这些“惊人的”结果:

Document Path:          /
Document Length:        26476 bytes

Concurrency Level:      50
Time taken for tests:   1800.514 seconds
Complete requests:      2427
Failed requests:        164
   (Connect: 0, Receive: 0, Length: 164, Exceptions: 0)
Write errors:           0
Total transferred:      65169733 bytes
HTML transferred:       64345285 bytes
Requests per second:    1.35 [#/sec] (mean)
Time per request:       37093.408 [ms] (mean)
Time per request:       741.868 [ms] (mean, across all concurrent requests)
Transfer rate:          35.35 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   2.7      0      22
Processing:  4335 36740 9513.2  33755  102808
Waiting:        7 33050 8655.1  30407   72691
Total:       4355 36741 9512.4  33755  102808

Percentage of the requests served within a certain time (ms)
  50%  33754
  66%  37740
  75%  40977
  80%  43010
  90%  47742
  95%  56277
  98%  62663
  99%  71301
 100%  102808 (longest request)

这是在新安装的Nginx服务器上,使用Cloudflare和APC。

不要以为我见过如此糟糕的表现,那么究竟是什么造成的呢?

感谢。

1 个答案:

答案 0 :(得分:1)

对于初学者来说,尝试直接测试原点并从混合中获取cloudflare(除非你将html作为可缓存的,并且你试图测试cloudflare的服务能力)。鉴于cloudflare的目的之一是保护网站,认为您的测试可能会受到速率限制(至少绕过它会消除可能的调查来源)并非没有道理。

将$ request_time添加到nginx的访问日志格式,这将告诉您服务器端的性能视图。如果它看起来仍然很糟糕,你可能不得不使用像New Relic或DynaTrace这样的东西来获得更多关于时间进度的详细信息(如果你没有自己检测应用程序)。

你使用php-fpm将nginx连接到php吗?如果没有,你应该调查一下。

对于那些糟糕的时间,可能性在实际应用中,而不是在配置中。