Почему сайт выдает бесконечное ожидание подключения?
Здравствуйте.
есть сайт, фронт на vue,js, а бекенд на php.
(vps nginx+apache)
изредка при переходе по ссылкам сайт начинает выдавать бесконечно ожидание подключения, причем если зайти тут же с вкладки инкогнито, то все работает хорошо, а со старой вкладки продолжает грузить любое действие бесконечно, все проходит спустя минут 15. (проходит это значит что со старой вкладки (не инкогнито) сайт начинает открываться)
куда смотреть, как отследить, что и где поправить?
спасибо.
Зачем вам два сервера, я бы на апач грешил, ну и на подключение каких либо сторонних библиотек динамически. Отключите все, что берётся не с локали, ну и как вариант пользовать async
Дмитрий, nginx отдает моментально статику и проксирует php запросы на апач, для этого и 2 (для скорости) если вы об этом. Спасибо, действительно с сдн грузится кое чего, но вот почему начинает на инкогнито работать и продолжает не работать в обычном режиме даже на новых вкладках
Я бы предположил, что у вас на бекенде повис PHP-процесс и залочилась сессия. С сессиями работаете? Хранятся в файлах?
Соответственно пока сессия не освободится, любой следующий запрос с тем же sessid при попытке открыть сессию будет висеть в ожидании её освобождения и ничего не отдавать в браузер.
Ещё вероятно у вас лимит времени исполнения php зачем-то поднят до 15 минут, вместо стандартных 30 секунд.
В инкогнито при этом всё работает, т.к. там получается другой sessid и соответственно новая сессия, которая не залочена.
Александр Панков,
1. смотреть лог ошибок апача, скорее всего будут ошибки вида
PHP Fatal error: Maximum execution time of 60 seconds exceeded in [имя файла] on line [номер строки] - смотрите что именно зависло
2. ограничить время выполнения скриптов. Параметр max_execution_time в php.ini, снизить его до разумных значений
Да, я в курсе, но дело в том что там пусто, 1а запись (index.php типа) и ожидание ее статуса пока 502 не покажется, хотя на вкладке инкогнито или с другого устройства все работает