У меня достаточно памяти и процессора, но 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;
}