У меня есть сервер, размещенный в 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 раз в секунду по доменному имени и, следовательно, вызывал новый сервер.
Это вызывало массовое использование процессора.
Я выключил старый сервер.