ПРОЕКТЫ 


  АРХИВ 


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]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: sendfile(2) patch и отдача больших файлов на 7-STABLE amd64
  • From: Artemiev Igor <ai@xxxxxxxxxx>
  • Date: Sun, 1 Feb 2009 18:52:46 +0300

Попробовал использовать патч (http://www.lexa.ru/nginx-ru/msg20575.html) к 
sendfile(2). Так вот, общее впечатление, что становится только хуже. Первая 
прокачка даёт 90MB/s, последующие - ~3MB/s, WCPU по данным top - 50-60%. При 
этом уже при 300 коннектах выбирается вся пропускная полоса рейд контроллера 
(~200MB/s согласно gstat -a при размере блока в 2M для sendfile), в то время 
как суммарная отдача по сети - 3-4MB/s. Судя по всему, проблема в том, что на 
amd64 sfbuf берётся напрямую из VM, а не из преаллокированной очереди. 
СОбственно вопрос к Игорю - возможно ли это как-то исправить, либо что-то 
недонастроено в самой системе? Конфиг nginx`а штатный. Изменение размера блока 
на ситуацию не влияет (пока он не равен 64K). Пробовал с ufs (блок 16K), zfs 
(128K), результат одинаков.



 




Copyright © Lexa Software, 1996-2009.