Добрый день.<br><br>Есть вот такая конфигурация:<br><br> location ~ /action/ {<br> gzip off;<br> fastcgi_buffer_size 4k;<br> fastcgi_busy_buffers_size 4k;<br> fastcgi_buffers 2 4k;<br> fastcgi_pass <a href="http://127.0.0.1:9000">127.0.0.1:9000</a>;<br>
fastcgi_param SCRIPT_FILENAME $document_root/index.php;<br> include fastcgi_params;<br> }<br><br>Вопрос: можно ли ВООБЩЕ ВЫКЛЮЧИТЬ буферизацию, а НЕ сделать ее равной 4k + 2*4k? Дело в том, что в index.php лежит:<br>
<br>// в php.ini отключены output_buffering, output_compression, output_handler; implicit_flush включен<br>while (ob_get_level()) ob_end_clean(); // на всякий пожарный<br>for ($i = 0; $i < 5; $i++) {<br> echo "Test! " . time() . "<br>\n";<br>
for ($n = 0; $n < 15000; $n++) echo "\n";<br> flush();<br> sleep(2);<br>}<br>exit;<br><br>И экспериментальным путем было установлено, что $n = 15000 (плюс-минус) - это минимальный размер "вантуза", которым удается "протолкнуть" контент в браузер. Установка fastcgi_buffer_size и fastcgi_busy_buffers_size в меньшие значения не помогают (возможно, они просто вообще не могут корректно определяться внутри location, либо же всегда кратны 4K?).<br>
<br>Т.е. задача - минимизировать размер "вантуза" любыми средствами. (Все-таки 15К - это многовато.)<br>Подскажите, пожалуйста, как это правильно сделать.<br><br>P.S.<br>Такая схема используется для того, чтобы на медленных страницах, которые грузятся дольше несколько секунд, моментально вывести <img src="анимированный_gif_крутилка_загрузки">. Такие страницы иногда встречаются из-за тормозов внешних сервисов, с этим ничего не поделать, к сожалению.<br>
<br>