PHP -FPM процессов, вызывающих высокую загрузку ЦП на VPS - PullRequest
0 голосов
/ 29 мая 2020

Через несколько месяцев после go мы переместили наш веб-сайт электронной коммерции на VPS, после того, как боролись с низкой производительностью платформ общего хостинга. Чтобы справиться с увеличением трафика c (в среднем 300-500 посетителей в день), мы изменили настройки PHP -FPM и увеличили максимальное количество детей с 5 (по умолчанию) до 50. В настоящее время пул PHP -FPM " «процессы требуют высокой загрузки ЦП (30-40%). Есть ли какие-нибудь советы, как заставить эти процессы «пула» использовать меньше ЦП? Спасибо!

Характеристики VPS:
2 процессора
Intel (R) Xeon (R) CPU E5-2630 v4 @ 2,20 ГГц
4 ГБ ОЗУ

WHM: Centos 7.8 v86.0.18
Платформа электронной торговли: OpenCart 3.0.2.0

1 Ответ

1 голос
/ 29 мая 2020
  1. FPM не имеет ничего общего с использованием ЦП, это ваш код.
  2. Тем не менее, не следует просто произвольно изменять количество рабочих процессов без надежной основы для этого, например: актуальная статистика ресурсов.
    • С 300-500 ежедневными пользователями вы действительно вряд ли будете иметь 50 одновременных запросов, если только вы не сделаете что-то странное.
    • Место, в котором я сейчас работаю достигает примерно 600 одновременных пользователей и максимум 15-20 соединений, фактически одновременно выполняющих что-либо. [Примечание: гораздо более крупная / более широкая инфраструктура поддержки]
    • Действительно ли вы ожидаете, что каждое ядро ​​ЦП будет обрабатывать 25 одновременных запросов?
    • Можете ли вы разумно уместить 50 запросов ОЗУ в эти 4 ГБ?
    • У вас все в порядке с этими 50 простаивающими PHP процессами, каждый из которых потребляет 10-15 МБ ОЗУ за штуку?

Все сказанное, мы не можем сказать вам в вашем коде использует ресурсы, и вы не можете опубликовать достаточно информации, чтобы мы могли сделать более чем смутное предположение. Вам нужно наладить все, чтобы измерить, где происходит использование этого ресурса, профилировать свой код, чтобы выяснить, почему, и настроить конфигурацию инфраструктуры в соответствии с вашими конкретными c требованиями приложения.

Нет никого "волшебника" c "конфиг, который работает для всех.

...