Re: Затыки при отдаче статики

Alex Vorona voron at amhost.net
Sat Nov 23 09:03:45 UTC 2013


22.11.2013 22:47, Gelun, Artem wrote:
> Добрый вечер, коллеги
> 
> Помогите, пожалуйста, разобраться с тормозами при отдаче статики (файлы
> порядка 2-4 МБайт, около 700-1000 rps, keep-alive не используется со
> стороны клиента (!), 99% клиентских сессий - с localhost, отдача начинает
> тормозить где-то на 2.7-3 Gbps)
> проблема выглядит как периодическое "залипание" загрузки файла на некоторый
> интервал (от долей секунды до нескольких секунд).
перегрузка дисков?
[...]
> LA на сервере высокий (в основном, из-за чтения с HDD), на 16 ядрах
> держится около 16.
Если клиент умеет ходить в unix-сокет (например nginx) - попробуйте перевести. Для HDD
nginx и ОС нужно настраивать так чтобы nginx читал с диска как можно бОльшими в пределах
разумного кусками, 512к-2048к например. Для этого прочитанные данные должны влазить в
буфер сокета, желательно также увеличить readahead, например через blockdev --setra

С апачем проблем нет, так как он скорее всего prefork, и не занимается переключением между
клиентами внутри одного процесса. С запущенным рядом ещё одним nginx, на который не идёт
нагрузка, также не должно быть проблем.

А вообще я не уверен что при перегруженных HDD проблема имеет решение, если поступающих
запросов больше, чем может обслужить дисковая подсистема.



Подробная информация о списке рассылки nginx-ru