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