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