Symfony 2 заблокировал параллелизм
У меня есть приложение Symfony 2.5, и у меня есть некоторые странные проблемы с параллелизмом запросов.
Чтобы продемонстрировать проблему, я создал два маршрута под названием/time
а также/sleep
, Тела контроллера довольно просты:
timeAction():
time();
sleepAction()
sleep(30);
Когда я прошу/time
Маршрут в моем браузере - он мгновенно отвечает текущей отметкой времени. Тем не менее, когда я впервые запрашиваю/sleep
маршрут, а затем/time
маршрут - он просто висит там доsleep()
выполнен. Только после этого/time
контроллер ответит отметкой времени. Другими словами - один запрос блокирует все остальные. Сначала я даже не заметил этого, но когда у вас есть запросы с длинным планом выполнения - это становится очевидным.
Что может быть причиной этого?
Я все еще собираюсь сделать некоторые дополнительные тесты самостоятельно, чтобы глубже понять ситуацию. Я постараюсь обновить вопрос с более подробной информацией.