centos — PHP обрабатывает загрузку и зависает, принимая все процессоры

У меня есть сценарий PHP, который позволяет мне иметь социальную сеть и тому подобное.

Обычно проблем нет, мой сервер — это VPS с:

  • 2,4 ГГц процессор
  • 4 ядра
  • 8 ГБ ОЗУ
  • 150 ГБ SSD
  • CentOS 7.1 с cPanel.

Проблема в том, что обычно сервер может выдерживать нагрузку на процессор 30-40% около 30 одновременно работающих пользователей. Но иногда я не знаю, по какой причине, нагрузка все время остается очень высокой, до 98-100%. Даже если пользователи выходят из системы, а на сайте даже 3-4 человека, загрузка сервера остается на уровне 98-100%, пока я не перезагружу сервер.

Итак, я заметил, используя Топ команда через SSH, которая создает созданный процесс в PHP с пользователем как владельцем веб-пространства (созданного через cPanel) и как команда, PHP. Нагрузка для этого процесса составляет от 20% до 27%.

Дело в том, что больше этих PHP-процессов создается больше времени.
Например, через 30 минут появляется другой процесс PHP с теми же характеристиками, что и у первого процесса. И оба вместе занимают 50-60% загрузки процессора. Проходит больше времени, создается больше процессов, максимум до 4 процессов, подобных этому. (Потому что у моего процессора 4 ядра?).

Если я убью эти процессы через убить [pid] через 1-2 минуты сервер возвращается к 3% даже при 10-15 одновременных пользователях.

В чем проблема? Это строго php-файл или как? Я даже пытался делать события на веб-сайте, чтобы проверить, какие действия запускаются этими процессами PHP (даже бесполезными). Потому что, если я их убью, сайт продолжит работать очень хорошо!

В чем может быть проблема?

Есть экран загрузки процессора:
Скриншот

Спасибо вам всем.

0

Решение

Если процесс выполняет много операций ввода-вывода, таких как вызовы базы данных и т. Д., Это может значительно увеличить нагрузку на процессор. В вашем случае вы уверены в процессе, который является причиной этой высокой нагрузки. Заметив, что нагрузка увеличивается с течением времени, вы должны внимательно посмотреть на PHP-скрипт на предмет утечек памяти, большого количества сессий, множества вложенных циклов с промежуточным вводом-выводом и попытаться определить причину этого. удачи

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]