Nginx Обслуживание статического большого файла

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

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

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

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

(я даже отключил gzip в конфигурации nginx, но не сильно отличался)

Ответ 1

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

location / {
    proxy_max_temp_file_size 0;
}

Ответ 2

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

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