Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Отдача больших файлов
Hi!
Если все упирается в диск, то отключать sendfile, использовать тюнинг
output_buffers
(ставить одну штуку на соединение, но достаточно большой, например 1 мб)
Если в диск не упирается, то sendfile отлично справляется с дефолтными
настройками, у меня сейчас отдает 200 мбит без особых напрягов. Планирую
расширяться, посмотрим, как будет потом.
Fri, 13 Mar 2009 11:50:12 +0300
Lin <shaman712@xxxxxxxx> писал(а):
> Здравствуйте
> Nginx используется для отдачи файлов большого размера и меня интересует его
> настройка на максимальную производительность. В частности, какие буферы нужно
> выставить, чтобы уменьшить нагрузку на дисковую подсистему? Файлы могут
> отдаваться на скорости 250-350 Кб/с, но вместо этого при количестве клиентов
> в 300-400 скорость падает до 20-30. Я так понимаю, все упирается в дисковую
> подсистему и хотелось бы этот момент оптимизировать. Полагаю, что информацию
> лучше сразу читать в буферы приличного размера, чтобы было меньше обращений к
> дискам.
> После изучения документации нашел следующие буферы:
> - sndbuf в директиве listen. На что он влияет, я не совсем понял, прошу
> пояснить, если можно.
> - output_buffers. Если я правильно понял, информация читается именно в эти
> буферы, а потом отдается клиенту. Таким образом, большое количество маленьких
> буферов увеличит количество обращений к дискам, а, значит, снизит
> производительность. Если же читать данные в один буфер около 256-512 кб, то
> обращений должно быть значительно меньше. Здесь, полагаю, все упрется только
> в количество памяти под буферы.
> - sendfile_max_chunk. Описания этой директивы в документации вообще не
> нашел:( Полагаю, что действует она только при включенном sendfile, но как
> именно, объясните пожалуйста.
> Заранее спасибо.
--
Цитируйте предыдущую переписку, пожалуйста.
AleXXX V. NovikoFF <alexxx@xxxxxxxxx>
WWW: http://alexxx.ru/
|