Как разобраться с кейсом: долгое ожидание загрузки через браузер (Laravel + React / InertiaJS), из-за чего?
Всем доброго вечера.
По вводным: имеем набор: Laravel + React
Сейчас ситуация такая: столкнулся с странной проблемой.
По вводным: раскатил приложение, пробую открыть его через веб - получаю долгое ожидание (~ спустя 30 Кб полученных данных), фактически погружен только title + css.
По вводным: через Wireshark вижу, что ПК каждые 45 секунд пробует повторно получить данные.
Сейчас ситуация такая: изначально подумал, что проблема может быть в мидлварах/эксепшенах, что я накидал, попроверял быстро раскатить дефолтный react-starter-kit, ситуация аналогичная (хостер аеза, которая ООО/ру, не LTD/net).
По вводным: при этом если я комментирую autoload/bootstrap и т.д., выводя какую-то статику (условно hello world с выводом даты) - страница загружается.
Сейчас ситуация такая: на другом хостере аналогичных проблем не обнаружил.
Нужно понять: кто-то сталкивался с подобными ограничениями/проблемами?
По вводным: интересует "как решать/куда смотреть".
Сейчас ситуация такая: p.S. Переезд - это конечно решение, но нет гарантий, что в ближайшем будущем и на другом хостере не будет таких проблем.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Долгое ожидание загрузки в связке Laravel + React/InertiaJS может быть на backend, frontend или между ними. Inertia не делает приложение автоматически быстрым: первый ответ всё равно генерирует Laravel, затем грузятся JS-бандлы, данные props и assets. Нужно измерить, где именно задержка.
Начните с Network в браузере: посмотрите TTFB основного HTML/JSON-запроса, размер JS/CSS, waterfall и время до первого рендера. Если TTFB высокий — проблема в Laravel, БД, middleware, сессиях, запросах или внешних API. Если TTFB нормальный, но долго грузится JS — смотрите Vite build, code splitting и размер бандла.
Для Laravel проверьте:
php artisan optimize php artisan route:cache php artisan config:cache php artisan view:cache
Но не используйте cache-команды вслепую на разработке. На проде они полезны, если конфиг стабилен.
Типовые причины медленного Inertia:
Поставьте Laravel Debugbar/Telescope локально и посмотрите количество SQL-запросов. Для React-бандла выполните production build и проверьте размер chunks.
Итог: сначала разделите TTFB и frontend загрузку. Если медленный сервер — профилируйте Laravel и SQL. Если медленный клиент — уменьшайте props, делайте lazy loading и code splitting. В Inertia особенно важно не передавать на каждую страницу лишние глобальные props.