Это размер дискового буфера. Т.е. сначала файл ответ тянется в буфер, а если его размера не хватает, то сохряняется в дисковый буфер. если отключить буферезацию на диск - nginx будет тянуть ровно столько, на сколько хватит буферов в памяти. остальное не будет прочитано из соединения с бекендом.
У Вас же, вероятно, происходило следующее: пользователь запрашивал данные с бэкэнда в 10 потоков, nginx на каждый поток тянул файл полностью(со смещением) и сохранял в дисковый буфер. Рекомендую попробовать ограничить дисковый буфер.
Есть тонкость, которую следует иметь ввиду: очередное чтение из бекенда будет только после полного освобождения полного буфера proxy. и надо смотреть внимательно на таймауты настроенные в бекенде. e.g. если proxy_buffers 2 64k; limit_rate 1k; - то в течении 64 секунд из бекенда ничего читаться не будет, и таймаут на бекенде надо ставить больше 64 секунд. то же относится к просто медленным клиентам.
В Втр, 22/12/2009 в 19:35 +0300, SaveFrom.net пишет:
Могу ошибаться, но на мой взгляд разумнее использовать proxy_max_temp_file_size
Директива задаёт максимальный размер временного файла для проксированного
ответа. "proxy_max_temp_file_size 0" запрещает создание файла.
А где про нее можно почитать?
Что происходит если отдаваемое "тело" превышает этот размер? Ведь если там будет стоят n метров, nginx должен их выкачать, прежде чем сможет понять что "тело" больше чем proxy_max_temp_file_size.
Сегодня возникла одна проблема, которая поставила передо мной вопрос, как работает сохранение ответа backend'а в proxy_temp_path в случае наличия в запросе content-range.
Моя проблема заключалась в том, что файлик размером в ~4gb стала тянуть качалка в ~10 потоков, что привело к очень большой нагрузке на FS и окончанию на ней места. Причем место занимали файлы уже удаленные с FS но еще не закрытые nginx'ом.
На upstream'е обыкновенный apache, который отдавал файл с ФС. Настроить отдачу напрямую не всегда возможно, т.к. за содержимое вхоста "отвечает" другой человек...
Направьте в сторону информации о работе модуля proxy при наличии заголовка content-range.