Re: Кеширование ответа php-fpm

Maxim Dounin mdounin на mdounin.ru
Вт Янв 17 13:12:08 UTC 2017


Hello!

On Tue, Jan 17, 2017 at 06:49:07AM -0500, Vvedensky wrote:

> Спасибо за ответ. По указанной вами ссылке по умолчанию: fastcgi_buffers 8
> 4k|8k.
> Если я правильно понимаю, то для 32-разрядной платформы 4k, для 64-разрядной
> 8k.

Нет, 4k или 8k определяется размером страницы памяти на конкретной 
платформе.  Для i386 и amd64 это 4k.

> А что следует увеличивать размер одного буфера (например, до 16k) или
> количество буферов до 16?

Общая логика какая-то такая: большие буфера могут заполняться не 
полностью, и соответственно память будет тратится впустую, а много 
буферов - лишние накладные расходы, т.к. заметная часть операций 
делается для каждого буфера.  Истина - где-то посередине.

Между 8*16k и 16*8k, IMHO, выбор совершенно не принципиален.  
Лично я бы - поставил 8*16k.

> Сообщение появляется не часто, в основном при работе в админке сайта. На
> первый взгляд общий объем буферов небольшой - около 64k, размер ОЗУ сервера
> 1 Гб, лишней памяти не очень много, но 100...200 Кб погоды не делают. Так ли
> это на ваш взгляд?

В первую очередь надо понимать, что задаваемые буфера - для 
_каждого_ запроса.  Т.е. 32k буферов по умолчанию - при 1000 
одновременных запросов это уже может потребовать до 32 мегабайт 
памяти.

В целом, если сообщение появляется только иногда, а не возникает 
на типичных ответах - серьёзного повода что-либо менять нет.  Но 
и от увеличения размера буферов в пару раз - тоже вряд ли станет 
хуже.

-- 
Maxim Dounin
http://nginx.org/


Подробная информация о списке рассылки nginx-ru