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

Artemiev Igor ai at kliksys.ru
Sun Feb 1 18:52:46 MSK 2009


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





More information about the nginx-ru mailing list