
Я использую сервер с 40 потоками и 125 ГБ оперативной памяти.
Сервер работает на базе CentOS 7.
Я заметил, что время отклика сервера увеличивается, когда сервер простаивает:
На скриншоте видно, что скорость отклика сервера в период с 16:00 до 22:00 была ниже, чем в другое время.
Я посмотрел логи, и GoogleBot в тот момент посылал нам 4 запроса в секунду, что нагружало сервер. Большинство запросов от GoogleBot были 302 редиректами (большой каталог электронной коммерции с ежедневными изменениями в живых продуктах).
Здесь вы можете увидеть пропускную способность сервера — в периоды, когда сервер был загружен, время отклика было низким.
Как это можно отладить?
Что является причиной этого?
Могут ли 302-редиректы быть дешевле, чем 200 ответов, которые искажают данные?
Может ли кэш (Redis / Opcache / APCu) очищаться слишком рано, что приводит к повторному заполнению кэша во время простоя?
В настоящее время мы используем: Apache 2.4 Nginx Proxy MySQL Redis Opcache APCu Elasticsearch
ОБНОВЛЯТЬ:
Если рассмотреть отдельные процессы, то PHP занимает больше всего времени:
MySQL в некоторой степени соответствует PHP, но не полностью: