ПРОЕКТЫ 


  АРХИВ 


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: feature request: sendfile management



В общем, поставил я патч - ничего не изменилось.
Трафик 170Mbit/s
С винтов (два винта в gmirror) в сумме при включенном sendfile 10-12MB,
средний за 10 с около 11, при выключенном 10-16М, средний за 10 секунд
13-14.
Плохо то что при активном sendfile при большой нагрузке начинаются
затыки при отдаче картинок, вплоть до 5 секунд. Хотя nsfbufs не
использованы и на половину:
4/12901/32768 sfbufs in use (current/peak/max)

Винты постоянно нагружены на 100%, но при sendfile off затыков нет.
Может все-таки неправильный шедулер I/O ?

В ср, 10/10/2007 в 15:56 +0300, MZ пишет:
> Если так то патч надо закоммитить во фрю.
> Я сначала подумал что дело в неправильном шедулинге дискового I/O, когда
> sendfile мешают друг-другу.
> Патч потестирую.
> 
> В ср, 10/10/2007 в 16:20 +0400, Igor Sysoev пишет:
> > On Tue, Oct 09, 2007 at 07:41:29PM +0300, MZ wrote:
> > 
> > > Замечено что использование sendfile ухудшает производительность при
> > > отдаче больших файлов, которые не кешируются эффективно операционкой. То
> > > есть если общий обьем тех файлов что часто запрашиваются не помещается в
> > > RAM и оси приходится читать их с диска постоянно для каждого запроса.
> > > Выключение sendfile увеличивает отдачу с дисков (по данным gstat) раза в
> > > полтора.
> > > 
> > > Я думаю есть смысл не использовать sendfile для больших файлов, то есть
> > > смотреть на размер файла перед отдачей, и если его размер превышает тот
> > > что установлен какой-то директивой (типа sendfile_max_filesize 10m) -
> > > такие файлы отдавать обычным методом.
> > 
> > У меня есть ощущение, что при использовании sendfile_max_filesize будет
> > так же или ещё хуже. Насколько я понимаю, если карточка умеет TX csum и
> > DMA (например, em, bge, fxp), то сейчас во FreeBSD при использовании
> > sendfile() страницы файла не помечаются как недавно используемые и,
> > соответственно, когда pagedaemon проверяет использованность старниц,
> > такие страницы имеют большие шансы вылететь из памяти.
> > 
> > В предыдущем письме я по ошибке отправил патч для 6.x, который
> > помечает страницы как использованные. Если кто-то может проверить
> > в ситуации, когда памяти меньше, чем размер всех файлов, то было
> > бы интерсно. Я погонял этт патч на машине, где весь контент влазит
> > в память, разницы не увидел.
> > 
> > 


 




Copyright © Lexa Software, 1996-2009.