Это размер дискового буфера. Т.е. сначала файл ответ тянется в буфер, а если его размера не хватает, то сохряняется в дисковый буфер.<br>если отключить буферезацию на диск - nginx будет тянуть ровно столько, на сколько хватит буферов в памяти. остальное не будет прочитано из соединения с бекендом.<br>
<br>У Вас же, вероятно, происходило следующее: пользователь запрашивал данные с бэкэнда в 10 потоков, nginx на каждый поток тянул файл полностью(со смещением) и сохранял в дисковый буфер. Рекомендую попробовать ограничить дисковый буфер.<br>
<br> Есть тонкость, которую следует иметь ввиду: очередное чтение из бекенда будет только после полного освобождения полного буфера proxy. и надо смотреть внимательно на таймауты настроенные в бекенде. e.g. если proxy_buffers 2 64k; limit_rate 1k; - то в течении 64 секунд из бекенда ничего читаться не будет, и таймаут на бекенде надо ставить больше 64 секунд. то же относится к просто медленным клиентам.<br>
<br>С уваженем, Антон<br><br><div class="gmail_quote">22 декабря 2009 г. 20:24 пользователь Bogun Dmitriy <span dir="ltr">&lt;<a href="mailto:vugluskr@vugluskr.org.ua">vugluskr@vugluskr.org.ua</a>&gt;</span> написал:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



  
  

<div>
В Втр, 22/12/2009 в 19:35 +0300, SaveFrom.net пишет:<div class="im"><br>
<blockquote type="CITE">
    Могу ошибаться, но на мой взгляд разумнее использовать proxy_max_temp_file_size 
<pre>Директива задаёт максимальный размер временного файла для проксированного
ответа. &quot;proxy_max_temp_file_size 0&quot; запрещает создание файла.
</pre>
</blockquote></div>
А где про нее можно почитать?<br>
Что происходит если отдаваемое &quot;тело&quot; превышает этот размер? Ведь если там будет стоят n метров, nginx должен их выкачать, прежде чем сможет понять что &quot;тело&quot; больше чем proxy_max_temp_file_size.<div class="im">
<br>
<br>
<blockquote type="CITE">
    22 декабря 2009 г. 18:38 пользователь Bogun Dmitriy &lt;<a href="mailto:vugluskr@vugluskr.org.ua" target="_blank">vugluskr@vugluskr.org.ua</a>&gt; написал:
</blockquote>
<blockquote type="CITE">
    <blockquote>
        Здравствуй, all.<br>
        <br>
        Сегодня возникла одна проблема, которая поставила передо мной вопрос, как работает сохранение ответа backend&#39;а в proxy_temp_path в случае наличия в запросе content-range.<br>
        <br>
        Моя проблема заключалась в том, что файлик размером в ~4gb стала тянуть качалка в ~10 потоков, что привело к очень большой нагрузке на FS и окончанию на ней места. Причем место занимали файлы уже удаленные с FS но еще не закрытые nginx&#39;ом.<br>

        <br>
        Конфиг вхоста: 
<pre>server {
    listen      1.1.1.1;

    server_name .vhost.dom;

    client_max_body_size 200m;

    access_log  /var/log/nginx/vhost-access.log generic;
    error_log   /var/log/nginx/vhost-error.log info;

    root /srv/vhost.dom/www/htdocs;

    location / {
        proxy_pass         <a href="http://upstr" target="_blank">http://upstr</a>_vhost;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

</pre>
        На upstream&#39;е обыкновенный apache, который отдавал файл с ФС. Настроить отдачу напрямую не всегда возможно, т.к. за содержимое вхоста &quot;отвечает&quot; другой человек...<br>
        <br>
        Направьте в сторону информации о работе модуля proxy при наличии заголовка content-range.
    </blockquote>
</blockquote>
<br>
<br>
</div></div>

<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
<br></blockquote></div><br>