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), результат одинаков.
|