Drupal на Apache: последовательные ошибки PHP "Превышено максимальное время выполнения 240 секунд"
Этот сервер Apache/MySQL (Debian 8), на котором работает сайт Drupal, демонстрирует странное поведение:
Всегда есть один процесс Apache, работающий со 100% загрузкой процессора (согласно htop). Каждые четыре минуты (~240 секунд) процесс завершается, и сразу же другой процесс Apache переходит на вершину со 100% загрузкой ЦП - еще на четыре минуты.
Глядя на журнал ошибок Apache, завершенный процесс отображается с фатальной ошибкой PHP "Превышено максимальное время выполнения 240 секунд":
[: error] [pid 31280] [client 185.17.206.72:55628] Неустранимая ошибка PHP: превышено максимальное время выполнения 240 секунд в /var/www/drupal/modules/field/field.attach.inc в строке 328
Эта модель продолжается в рабочее время. Ночью, когда на сайте меньше посетителей, сообщение об ошибке появляется реже.
Система имеет пять ядер (ВМ) и работает под управлением Apache 2.4, PHP 5.6, Percona 5.6 и Drupal 7. Я запускал MySQL с медленным журналом запросов, но нет медленных запросов, которые бы соответствовали этим частым тайм-аутам PHP.
Я запустил strace на нескольких процессах Apache, работающих со 100% -ной загрузкой ЦП, но не нашел ничего особо заметного: процесс останавливается при опросе каждые несколько секунд на пару секунд. Но это, кажется, нормальное поведение.
Нет недостатка в соединениях с БД (согласно, например, mysqltuner и tuningprimer).
Смотря на запросы, которые соответствуют этим тайм-аутам (я использовал формат журнала с PID и время, необходимое для завершения запросов: LogFormat "%h %l %u %t %>s %D %P \"%r\" %b" exectime
), Я не вижу шаблонов: это происходит для различных запросов, и это запросы, которые обычно заканчиваются в 1 с и менее.
Мне просто интересно, что происходит с этими последовательными ошибками PHP и как я могу их контролировать. Любые идеи о том, как дополнительно проанализировать это?