Nginx, обслуживающий большой статический файл - PullRequest
12 голосов
/ 13 сентября 2011

Простой вопрос

http://mysite.com/bigFile.avi # этот файл 800 МБ

когда я использую эту ссылку и загружаю bigFile.avi из своего браузера, Мой сервер Nginx переходит на 100% загрузку процессора во время сеанса загрузки, статический контент, нет php. (обычные php-скрипты используют процессор на 1-3%)

Интересно, нормально ли это для моего сервера? Он потребляет так много ресурсов процессора для обслуживания больших файлов?

(я даже отключил gzip в конфиге nginx, но без большой разницы)

Ответы [ 2 ]

12 голосов
/ 24 марта 2014

Поскольку nginx может записывать большие файлы на диск перед отправкой их клиенту, часто рекомендуется отключить этот кэш, если сайт будет обслуживать большие статические файлы, например:

location / {
    proxy_max_temp_file_size 0;
}
9 голосов
/ 13 сентября 2011

Взгляните на эти статьи

Я признаю, что кое-что за пределами моего понимания.Но вкратце они предлагают отключить sendfile, включить aio и увеличить выходные буферы, если вы отправляете большие (> 4 МБ) файлы.Что я забрал, так это то, что в большинстве конфигураций сервера по умолчанию предполагается, что будет отправлено много небольших файлов, а не несколько или много больших файлов.Для этих двух разных сценариев могут потребоваться очень разные конфигурации для эффективной работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...