http {
output_buffers 4 32k;
postpone_output 1460;
Из треда понял, что эти буферы - общие для всех процессов. Сделал
4 512к. Отжирается также порядка 15 Мбайт.
Это буфера для одного соединения. Файл читается в 512k буфер за один read.
Внимание вопрос. Вот есть 4 буфера по 512к. Вот клиент запросил
страничку, там ну пускай 10 картинок по 100к. Как будут развиваться
события и использоваться буферы?
Предполагаю: 1-й файл читается в 1-ый буфер, ессно занимает не весь
буфер, но тем не менее, буфер отдается клиенту; 2-ой файл читается во
2-ой буфер (а не подпихивается в остаток 1-го), этот 2-й буфер
отдается клиенту. И т.д. будут использованы все 4 буфера и более менее
параллельно будут отдаваться клиенту(ам). Затем будет "ожидание
освобождения буферов", как только будет передан 1-ый, целиком, и
соответственно освобожден, в него будет считан 5-й файл и будет
отдаваться клиенту.
Может я конечно вру и всё не так. Не знаю как будет если файл больше
буфера, возможно он будет считываться в буферы соответствующими
кусками и отдаваться.
Короче, появилась мысль, а не поставить ли этих буферов тыщ 50 ?