Почему laravel 5.2 может переодически подтормаживать?
Всем привет!
Есть сайт на laravel 5.2.
Переодически при обновлении страницы сайт подвисает где-то миллисекунд на 800-1200,
Лаг возникает переодически и не зависит, как мне кажется ни от чего :-(
Любая страница, ajax, любой контроллер - не могу понять в чем причина.
Захожу на любую страничку - все ок, начинаю ее обновлять(не быстро) и в какой-то момент она подвисает, а потом опять быстро загружается.
Так-же можно просто ходить по разным страницам, через 5-20 переходов произойдет лаг.
Как вариант, может внутри у вас происходит редирект? Т.е. переходите на страницу, как только контроллер срабатывает, то заного редиректит на эту же страницу?
нет, никаких редиректов нет. Да и происходит это с любым контроллером, и даже без - если просто пустую вьюху через роутер отдавать. Кажется как-будто сам фреймворк виноват. Но не могу найти как именно :-(
Открываете консоль брайзера, раздел network и смотрите за сколько ответ сервера пришел и что потом происходит и за какое время, находите причину - оптимизируете. Хоть это laravel, хоть что там еще. ЕСли проблема в долгом ответе сервера - тогда уже копать логи и искать причину там.
Открываю консоль и вижу, к примеру переодические ajax запросы к скрипту, все по ~110ms, затем тот-же запрос 1.1s, потом снова по 110ms идет.
Подскажите, как лучше отлаживать?
nucop: Для простоты есть пакет laravel debug bar. Там есть возможность отслеживать скорость выполнения запросов к БД.
Также там есть общее время выполнения ядра и самого вашего приложения.
Такое поведение зависит от сервера, на котором сайт работает, или нет?
Включите логи запросов к базе. Можете профилирование скрипта выполнить, потом посмотреть и сравнить результаты "быстрых" и "медленных" запросов, понять где узкое место и копать именно там.