Назад | Перейти на главную страницу

оптимизировать nginx для загрузки больших файлов

Эй, мне интересно, какие общие варианты мне следует изучить для оптимизации сервера nginx для загрузки больших файлов (обычно от 100 МБ до 6 ГБ). Я только что перешел с lighttpd и заметил, что во время загрузки скорость очень быстро меняется. Я знаком с колебаниями скорости, но не с этой скоростью, lighttpd колеблется не так сильно. Мне было интересно, есть ли какие-то общие вещи, на которые я должен обратить внимание, будучи новичком в nginx. Следует ли мне увеличить количество рабочих пулов и т. Д.

Я просматривал вики-страницу для HttpCoreModule и я нашел что-то вроде directio вариант:

Директива позволяет использовать флаги O_DIRECT (FreeBSD, Linux), F_NOCACHE (Mac OS X) или функцию directio () (Solaris) для чтения файлов размером больше указанного. Эта директива запрещает использование файла sendfile для этого запроса. Эта директива может быть полезна для больших файлов

это был бы вариант попробовать? Спасибо, ребята, я ценю помощь.

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

Спасибо!

Сколько у тебя барана? Какая нагрузка на ваш сервер? Обслуживает ли он только большие файлы или обслуживает файлы меньшего размера и / или запросы прокси?

DirectIO полезен, когда набор активных файлов больше ОЗУ, поэтому они не помещаются в кеш, а кеширование бесполезно - лучше читать их прямо с диска и оставить кеш для чего-то другого.

Что касается флуктуаций - это, вероятно, вызвано блокировкой рабочих nginx на дисковых операциях (по умолчанию они синхронные). Попробуйте увеличить количество воркеров или попробуйте использовать асинхронный ввод-вывод (включение aio). Но будьте осторожны: слишком асинхронный io или большое количество рабочих может привести к гораздо большему коэффициенту поиска, поэтому общая скорость может резко снизиться.