Re: оптимизация системы для nginx

Igor Sysoev igor на sysoev.ru
Вт Фев 16 20:43:41 MSK 2010


On Tue, Feb 16, 2010 at 05:39:06PM +0300, calculator at land.ru wrote:

> Привет.
> При определенной посещаемости nginx перестает отдаваться. В netstat 
> ругань на "times the listen queue of a socket overflowed".
> nginx с дебагом ругается:
> 2010/02/11 14:05:52 [info] 27879#0: *53029559 recv() failed (104: 
> Connection reset by peer) while reading client request line, client: 
> 92.37.202.227, server: www.site.ru
> 2010/02/11 14:05:52 [info] 27879#0: *53029559 writev() failed (32: 
> Broken pipe) while reading client request line, client: 92.37.202.227, 
> server: www.site.ru
> 
> centos    2.6.18    nginx-0.3.54
> 
> Интересно то, что ресурсы у системы вроде как есть:
> mpstat:
> 10:13:20 AM  CPU   %user   %nice    %sys %iowait    %irq   %soft  
> %steal   %idle    intr/s
> 10:13:21 AM  all    7.12    0.00   10.62    0.12    0.25   26.62    
> 0.00   55.25  17738.38
> 10:13:21 AM    0    6.06    0.00   24.24    0.00    0.00   47.47    
> 0.00   22.22   2088.89
> 10:13:21 AM    1    7.07    0.00   11.11    0.00    0.00   23.23    
> 0.00   58.59   2281.82
> 10:13:21 AM    2    7.07    0.00    8.08    0.00    1.01   20.20    
> 0.00   65.66   2295.96
> 10:13:21 AM    3    7.07    0.00    8.08    0.00    1.01   23.23    
> 0.00   62.63   2201.01
> 10:13:21 AM    4    5.05    0.00    9.09    0.00    0.00   31.31    
> 0.00   56.57   2108.08
> 10:13:21 AM    5    6.06    0.00    8.08    0.00    0.00   24.24    
> 0.00   62.63   2260.61
> 10:13:21 AM    6   11.11    0.00    8.08    0.00    0.00   23.23    
> 0.00   58.59   2268.69
> 10:13:21 AM    7    7.07    0.00    9.09    0.00    0.00   23.23    
> 0.00   60.61   2229.29
> 
> iostat:
> Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz 
> avgqu-sz   await  svctm  %util
> sda               0.00     6.67  0.00 37.67     0.00 13861.33   
> 368.00     0.16    4.20   0.53   2.00
> sda1              0.00     6.67  0.00 13.00     0.00   157.33    
> 12.10     0.02    1.38   0.08   0.10
> sda2              0.00     0.00  0.00 24.67     0.00 13704.00   
> 555.57     0.14    5.69   0.77   1.90
> sda3              0.00     0.00  0.00  0.00     0.00     0.00     
> 0.00     0.00    0.00   0.00   0.00
> 
> Процессы nginx'а висят примерно пополам в sleep/run.
> Если рядом к примеру на 81 порт запустить еще 1 nginx, он хорошо отдается.
> somaxconn и backlog выкручены.
> Пробовал играться с worker_processes worker_connections rcvbuf sndbuf,
> ulimits, но эфекта нет :-(
> С этим можно бороться?

Какой метод обработки ( http://sysoev.ru/nginx/docs/events.html )
используется ?


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru