При этом он почему-то отжирает непозволительно много процессора.
top выглядит так:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25894 httpd 16 0 7084 5352 1592 S 31.0 0.3 0:11.35 nginx
14085 server1 17 0 550m 299m 16m S 25.2 14.8 609:20.18 backend
25895 httpd 15 0 6404 4740 1592 R 19.4 0.2 0:10.62 nginx
23738 httpd 16 0 394m 15m 3072 S 5.8 0.8 0:23.35 httpd
14987 server1 17 0 572m 214m 19m S 3.9 10.6 58:42.15 backend
23422 httpd 16 0 394m 16m 3072 S 1.9 0.8 0:25.95 httpd
26040 root 15 0 2260 1036 736 R 1.9 0.0 0:00.02 top
status:
Active connections: 66
server accepts handled requests
324586 324586 324568
Reading: 63 Writing: 2 Waiting: 1
И это не самый пик нагрузки nginx.
Конфиг таков:
user httpd httpd;
worker_processes 5;
1) при использовании SSL лучше разрешать keep-alive:
keepalive_timeout 75;
Судя по большому числу reading, есть ощущение, что nginx проводит время
в SSL handshake'ах. Что можно попробовать ? Во-первых, keep-alive,
а во-вторых оставить только один рабочий процесс, в этом случае сессии SSL
будут лучше кэшироваться (nginx, в отличие от Апача, поддерживает кэширование
сессий только внутри одного процесса).
Игорь Сысоев
http://sysoev.ru