Назад | Перейти на главную страницу

Ошибка Nginx 503 при высоком трафике

У меня достаточно памяти и процессора, но nginx показывает ошибку 503 при высоком трафике.

Вот использование памяти

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

Также использование процессора никогда не превышает 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

Спасибо.

Попробуйте увеличить worker_rlimit_nofile и worker_connections, в любом случае хорошо видеть, что происходит в error_log. например:

worker_rlimit_nofile 65535;
events {
    worker_connections  65535;
}