Последние несколько недель я получаю все больше и больше сообщений о задержках на одном из моих сайтов. Я наконец испытал это на собственном опыте на прошлой неделе, но я не смог точно определить проблему.
Загрузка сервера никогда не превышает 0,5 из 16 ядер, а использование памяти достигает 12-13%. Проблема не в базе данных, так как на статических ресурсах может возникнуть задержка. Приблизительно 1 из 10 просмотров страницы дает ошибку 502. Примерно 1 из 5 страниц загружается за 5-20 секунд. Когда вы смотрите на вкладку сети Chrome, она показывает "ожидание" почти все это время.
Вчера вечером я перезагрузил сервер, и несколько часов он казался нормальным, но менее чем через 12 часов все вернулось к нормальным проблемам с задержкой. У кого-нибудь есть советы о том, где я могу попытаться разобраться в проблеме?
Я бы сделал пару вещей.
Выберите «медленный» ресурс с помощью curl из коробки и получите время - посмотрите, проблема в сети между браузером и сервером или в самом сервере.
Используйте что-то вроде Firebug + YSlow или Pagespeed или ВОЗДУШНЫЙ ЗМЕЙ чтобы получить каскадную диаграмму вашей веб-страницы - эти инструменты должны объяснить, является ли проблема медленной загрузкой, DNS или временем отклика веб-сайта (также известным как «время до первого байта»). Это также позволит локализовать проблему.
Убедитесь, что вы регистрируете затраченное время в журнале Apache (% D), и посмотрите, что это вам говорит.
Просто догадка, но это звучит сетево. Сделайте хотя бы netstat и посмотрите, работает ли у вас миллиард подключений.
Сообщение 502 - это не обычный ответ по таймауту, это «плохой шлюз». Обычно они возникают, если с вашим сайтом возникают проблемы с прокси-сервером или шлюзом. Может быть, приложение на вашем сайте выходит из строя после mod_proxy? Я бы попытался устранить это, ударив статический контент из локального, а затем расширившись оттуда.