ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sendfile(2) patch и отда ча больших файлов на 7-STABLE amd64



On Mon, Feb 02, 2009 at 08:28:28PM +0300, Artemiev Igor wrote:

> On Mon, Feb 02, 2009 at 07:23:24PM +0300, Dmitry Morozovsky wrote:
> > Четырёхъядерник?
> Угу
> 
> > Одно из ядер занято процессом, который заблокирован в системном вызове - 
> > ищите какое и в каком
> Так в sendfile и занято (Broken pipe - это закачку оборвал на клиенте):
> 
> setsockopt(0x6,0x6,0x4,0x7fffffffd854,0x4,0xfffffffffffff000) = 0 (0x0)
> sendfile(0x9,0x6,0x0,0x40000000,0x7fffffffe100,0x7fffffffe128) ERR#32 'Broken 
> pipe' 
> close(9)                                         = 0 (0x0)

Судя по этому, nginx уходит в sendfile() с закэшированным контентом один раз.
Что он там делает - непонятно.

> Попробовал с наскоку менять sendfile_max_chunk  на 64K, 128k, 1m, 2m - 
> видимого
> эффекта нет, скорость остаётся всё той же.

А если на этой машине сделать пару загрузок с большим kern.ipc.sfreadahead,
а потому поставить его в 1, то скорость подымается до 50MB/s ? По идее,
должна остаться такой же - на уровне нескольких MB/s.

И, насколько я понимаю, на непатченном ядре должно повториться то же самое:
быстрая первая закачка и медленный последующие.


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



 




Copyright © Lexa Software, 1996-2009.