sendfile_max_chunk

Александр Ворона voron at amhost.net
Fri May 11 13:06:38 MSD 2007


Igor Savchenko пишет:

>>>> Почитал старый ваш топик. Почему ушли от решения с увеличением 
>>>> количества воркеров? Какой iostat у дисков теперь? Судя по тому, что 
>>>> тестовый выделеный nginx отдаёт 25MB/s, диски не до конца упёрлись.
>>> Не ушли.. я игрался с кол-вом воркеров. Самым оптимальным является 20
>>> штук.. больше падает общая производительность, меньше тоже...
> 
>> а в каком статусе находятся процессы?
> 
> 24409 nobody       1   4    0  5972K  5020K kqread 0   7:18  0.29% nginx
> 24412 nobody       1   4    0  5976K  5024K kqread 0   7:27  0.15% nginx
> 24403 nobody       1   4    0  5976K  5016K kqread 2   7:24  0.15% nginx
> 24418 nobody       1   4    0  6004K  5048K sbwait 0   7:21  0.10% nginx
> 24417 nobody       1   4    0  5924K  4972K kqread 2   7:19  0.10% nginx
> 24407 nobody       1   4    0  6016K  5064K kqread 2   7:36  0.05% nginx
> 24401 nobody       1   4    0  5992K  5036K kqread 0   7:23  0.05% nginx
> 24416 nobody       1  -8    0  5964K  5012K biord  0   7:19  0.05% nginx
> 24410 nobody       1   4    0  5952K  5000K sbwait 0   7:12  0.05% nginx
> 24400 nobody       1   4    0  5972K  5020K kqread 0   7:45  0.00% nginx
> 24408 nobody       1   4    0  6064K  5112K sbwait 0   7:29  0.00% nginx
> 24405 nobody       1   4    0  6036K  5080K sbwait 0   7:24  0.00% nginx
> 24406 nobody       1   4    0  6024K  5072K kqread 0   7:21  0.00% nginx
> 24404 nobody       1   4    0  5984K  5032K kqread 2   7:21  0.00% nginx
> 24399 nobody       1   4    0  6016K  5064K sbwait 0   7:20  0.00% nginx
> 24402 nobody       1   4    0  6028K  5080K sbwait 0   7:12  0.00% nginx
> 24415 nobody       1   4    0  5916K  4960K kqread 0   7:10  0.00% nginx
> 24413 nobody       1   4    0  6008K  5056K kqread 0   7:07  0.00% nginx
> 24414 nobody       1   4    0  6020K  5068K sbwait 0   7:00  0.00% nginx
> 24411 nobody       1   4    0  5928K  4976K sbwait 0   6:59  0.00% nginx
> 
>>> при:
>>>
>>> Active connections: 1365
>>> server accepts handled requests
>>>  1621514 1621514 2270840 
>>> Reading: 10 Writing: 1157 Waiting: 198 
>>>
>>>
>>>

8 процессов в sbwait(а значит клиенты этих процессов не получают сейчас 
ничего, тк заблокированы процессы) - ждут перлового реврайта судя по 
старым постам. Судя по статусу Reading >=10 скорость входящих запросов 
довольно большая. Не думали над схемой nginx frontend 5 worker's 
(sendfile, proxy_pass, X-Accel-Redirect) -> nginx(apache) 40+ workers 
(perl rewrite(либо что вам удобней) с выдачей редиректа)? Либо сделать 
контролируемое скачивание одним nginx'ом, повесив perl в fast_cgi? 
Пример есть на http://sysoev.ru/nginx/links.html и в рассылке
Смысл - разнести процессы-раздатчики_файлов и процессы, которые уходят в 
блокировку при проверке закачки. В результате сможете иметь 
контролируемое (и неблокирующееся за счёт sendfile_max_chunk) количество 
раздатчиков_файлов(дискам полегче будет) и независимое от этого 
количество процессов, занимающихся проверкой закачки. Блокировка этих 
процессов не будет никому мешать(например worker_connections 1 :) )

>>> $ iostat 2
>> на всякий случай что говорит
> 
>> iostat -x da0 2
> 
> iostat: illegal option -- x
> 
> :-)
да, таки нет её на 6.1





More information about the nginx-ru mailing list