Я недавно перенес свое приложение с одного сервера с докером в Google Kubernetes Engine по причинам масштабирования.Я новичок в платформе kubernetes, и, возможно, я еще не до конца понимаю ее концепцию, но я понимаю основы.
Я успешно перенес свое приложение на cluster size of 3 each with 1vCPU and 3.75 GB RAM
Теперь я обнаружил, какая конфигурация является лучшей для процессов php-fpm, запущенных в кластере kubernetes.Я прочитал несколько статей о том, как настроить процессы php-fpm, такие как
https://serversforhackers.com/c/php-fpm-process-management
https://www.kinamo.be/en/support/faq/determining-the-correct-number-of-child-processes-for-php-fpm-on-nginx
В моем кластере у меня есть Elasticsearch, Redis, Frontend и REST Api и мое понимание о kubernetes, у каждого из которых есть свои собственные модули, работающие на моем кластере, я попытался получить доступ к модулю для REST Api и увидеть 1 vCPU и 3,75 ГБ оперативной памяти, которые я установил в своих характеристиках кластера.А в ОЗУ осталось только 1,75 ГБ, поэтому я думаю, что есть другие сервисы или модули, использующие память.
Итак, теперь я хотел увеличить размер следующего на основе статей, которыми я поделился выше.
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 4
pm.max_spare_servers = 8
Но моя проблема в том, что модуль работает на работающем, и если я изменю базу конфигурации на оставшейся доступной памяти (на основе статей, которыми я поделился выше по вычислению pm.max_children), я мог бы в конечном итоге потреблять модульвсе пространство памяти осталось и не сможет быть выделено для других сервисов.Моя проблема имеет смысл?или есть идея, которую мне не хватает?
Основываясь на статье, поскольку у моего работника 3,75 ГБ ОЗУ, а другие службы уже используют 1,5 ГБ ОЗУ, поэтому моя лучшая цель - 1 ГБ ОЗУ.
pm.max_children приводит нас к 1024Мб / 60 Мб = 17 max_children
pm.max_children = 17
pm.start_servers = 8
pm.min_spare_servers = 7
pm.max_spare_servers = 10
pm.max_requests = 500
В связи с этим возникает вопрос, как вычислять дочерний процесс php-fpm в кластере Kubernetes, когда другие службы или модули используют одни и те же ресурсы.
Спасибо, что дочитали до конца, и заранее спасибо за ваш вклад.