Php-fpm нагружает цпу. В чем может быть проблема?

Всем привет! Помогите разобраться с проблемой.
Php fpm создает высокое LA + нагрузку на цпу.
Имеем: API Веб сервер ngnix+phpfpm (2000 процессов) + redis + memcached.
База данных на другом сервере, с ней все ок.
Нагрузка 3500-6000 запросов в секунду.
Архитектура - клиент шлет запрос, мы ищем в базе данные, обращаемся к мемкешу, обращаемся к редису за массивом исключений, полученные данные (300 строк из mysql) прогоняем в цикле для создания массива, дергаем из массива нужное нам значение, пишем в базу результат, пишем в редис результат и выводим результат к клиенту.

Проблема: при 3500-4300 запросов в сек, LA 28-30 + нагрузка процессора 30-40%. При повышении запросов до 5000-6000 в секунду. Начинает серьезно расти LA и расход процессора поднимается до 70-90 процентов. Скорее всего

Железка AMD EPYC 7502P + nvmessd диски

Может нужно поменять процессор в соотношении - меньше ядер но больше частота?
Выбор из процессоров:
2 x Intel® Xeon® SP Gold (2шт)
Intel® Xeon® W-2295
Intel® Xeon® W-2145
AMD EPYC 7502P
Intel® Core™ i9-12900K
AMD Ryzen™ 7 3700X

Спасибо за ответы
  • Вопрос задан
  • 325 просмотров
Пригласить эксперта
Ответы на вопрос 1
1. Поставьте prometheus + node_exporter. Метрики очень важны, без них это только тыкать пальцем в небо
2. Если систему нагружает php код, то поставьте xhprof и профилируйте запросы (например 1% запросов), тогда вы сможете увидеть какой именно код даёт нагрузку на процессор
3. Если БД на том же сервере, то установите ещё и mysql_exporter
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы