Re: Настройка nginx под image hosting
Ihalainen Nickolay
ihanick на gmail.com
Ср Апр 7 02:48:03 MSD 2010
> А что вообще sendfile on делает?
вы недостаточно подробно читали: http://sysoev.ru/2006.html 08.01.2006
sendfile использует kernel буфера и кеши дисковых блоков внутри ядра.
directio потенциально может спасти ситуацию тем что не будет двойной
буферизации для больших файлов.
но если горячие файлы большие (мегабайты), то дисковая нагрузка
возрастёт (nginx не кеширует а буферизует, ОС не кеширует, данные
только на дисках)
если его выключить, то будет наблюдаться эфект двойной буферизации +
надо подбирать размер буферов на чтение.
если выключаете, внимательно следите за swap, если nginx начнёт
свопить, то эфект ускорения от выключения sendfile не будет достигнут.
> И в чём, собственно, в случае хостинга файлов эта директива мешает? Спрашиваю, чтобы понимать суть процесса.
если упираетесь в диски, то процессы nginx будут повисать на sendfile,
время ответа, даже на blank gif становится несколько секунд/timeout.
>
> Кстати, интересует ещё, можно ли как-то снизить нагрузку на дисковую подсистему сервера.
добавьте дисков, памяти/освободите память на этом сервере, снизьте
write запросы на диски/агрегируйте write запросы увеличением времени
фиксации транзакций файловой системы.
Подробная информация о списке рассылки nginx-ru