高流量下的 Nginx 503 错误

高流量下的 Nginx 503 错误

我有足够的内存和 CPU,但是 nginx 在高流量时显示 503 错误。

以下是内存使用情况

             total       used       free     shared    buffers     cached
Mem:          3383       3370         12          0         37       3071
-/+ buffers/cache:        260       3122
Swap:         4094          0       4094

CPU 使用率也从未超过 20%

top - 13:31:10 up 43 days,  6:47,  3 users,  load average: 0.16, 0.19, 0.22
Tasks:  95 total,   1 running,  92 sleeping,   2 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 96.7%id,  3.2%wa,  0.0%hi,  0.0%si,  0.2%st
Mem:   3464192k total,  3450844k used,    13348k free,    53248k buffers
Swap:  4192944k total,      100k used,  4192844k free,  3135820k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      15   0 10364  648  552 S  0.0  0.0   0:04.33 init
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:14.15 migration/0
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.05 ksoftirqd/0
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
    5 root      10  -5     0    0    0 S  0.0  0.0   0:01.10 events/0

我使用此代码来查看活动连接:netstat -an |grep :80 |wc -l

当显示的数字低于 1500 时,一切正常,但当显示的数字超过 1500 时,用户会出现 503 错误。

我已经设定: worker_processes 2; 并且worker_connections 2024;

但仍然出现此错误。

请帮助我并建议如何修复此问题。并告诉我导致此错误的原因。我使用的是 nginx 0.8.55

谢谢。

答案1

尝试增加 worker_rlimit_nofile 和 worker_connection,无论如何,看看 error_log 中发生了什么事情还是有好处的。例如:

worker_rlimit_nofile 65535;
events {
    worker_connections  65535;
}

相关内容