Назад | Перейти на главную страницу

100% загрузка ЦП сервера LAMP с 5 сайтов WP

У меня есть сервер, размещенный в Google Cloud, настроенный для обслуживания веб-сайтов в стеке LAMP. На данный момент все эти веб-сайты основаны на WordPress, а их всего 5.

у меня есть n1-standard-1 сервер, поэтому он имеет 1 виртуальный ЦП и 3,75 ГБ памяти. Этого должно быть достаточно, учитывая, что сайты на сервере имеют небольшую нагрузку (читайте: количество посетителей).

Теперь ЦП почти всегда на 100% или выше. См. Изображение.

Сервер использует mpm_prefork и конфигурация показана ниже:

<IfModule mpm_prefork_module>
    StartServers                    2
    MinSpareServers                 2
    MaxSpareServers                 5
    MaxRequestWorkers               50
    ServerLimit                     50
    MaxConnectionsPerChild          0
</IfModule>

Когда я перезапускаю apache2, следующие ошибки всегда появляются в /var/log/apache2/error.log:

[Mon Jun 06 15:01:58.204747 2016] [mpm_prefork:notice] [pid 18177] AH00163: Apache/2.4.10 (Debian) configured -- resuming normal operations
[Mon Jun 06 15:01:58.204791 2016] [core:notice] [pid 18177] AH00094: Command line: '/usr/sbin/apache2'
[Mon Jun 06 15:02:18.815485 2016] [mpm_prefork:error] [pid 18177] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

В какой момент работает htop, Я вижу, что развернулось 50 потоков, каждый с загрузкой ЦП ~ 2% (диапазон составляет 1,9–2,9%, но большинство из них составляют 1,9% или 2,0%). Я уверен, что в настоящее время нет большой нагрузки от посетителей, если вообще когда-либо.

Однако на другом сервере, который я использую почти идентичный, но для другой компании я вижу только несколько потоков apache2 в htop, каждый из которых почти не использует процессор. Этот другой сервер не имеет проблем и отлично обслуживает трафик.

Так что меня заставили поверить, что что-то использует все ресурсы на этой первой машине - либо вредоносное ПО, либо вещи уровня приложений, такие как плагин WP.

Итак, мой вопрос:

Как мне узнать, что конкретно вызывает эту проблему? Проблема заключается в 100% -ном использовании ЦП только потоками apache2.

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

Редактировать:

Смотрите верхнее выходное изображение:

Изучая атаки XML-RPC, я вижу около 2000 ошибок в плагине All In One WP Security. Думаю, именно здесь я могу начать искать проблемы. Я спрошу что-нибудь новое, если потребуется, и могу ли я быть более конкретным. Спасибо

Оказывается, сайт был перенесен с другого сервера, а старый сервер остался.

Старый сервер звонил wp-cron.php около 10 раз в секунду по доменному имени и, следовательно, вызов нового сервера.

Это вызывало массовую загрузку ЦП.

Я выключил старый сервер.