Symfony2: очень медленная обработка сессий

Я вижу очень медленные запросы MySQL, связанные с сеансом, в своей производственной среде с использованием Symfony2 (2.8.22), AWS EC2 и RDS. Я задал похожий вопрос здесь некоторое время назад, когда я использовал обработчик сеанса файловой системы Symfony по умолчанию. Сейчас я использую обработчик MySQL, что, возможно, еще более проблематично.

Эти медленные поиски особенно усугублялись в течение 12 часов или около того, в течение которых средняя пропускная способность моего приложения составляла около 80-90 запросов в минуту.

Другие запросы MySQL кажутся идеально производительными, и проблема, похоже, связана с обработкой сеанса. В других транзакциях я могу увидеть MySQL sessions delete, что также занимает 60% -90% от общего времени транзакции. Один ответ в моем предыдущем вопросе предполагал, что медлительность может быть связана с блокировкой сеанса, и в этом случае я бы спросил: могу ли я что-нибудь сделать, чтобы ускорить этот процесс? ~ 20сек для обработки сессий недопустимо.

Я приложил пару отчетов из New Relic, которые иллюстрируют зависания. введите здесь описание изображения

введите здесь описание изображения


person CaptainStiggz    schedule 20.06.2017    source источник


Ответы (1)


Я репостю здесь кое-что из комментария, который я сделал по вашей проблеме с Symfony.

Я считаю, что в вашем приложении должны быть параллельные запросы, например запросы на опрос Ajax. Эти запросы могут происходить, когда веб-сайт открыт на нескольких вкладках или окнах браузера, сеанс блокируется в одной, а запросы ajax с других вкладок блокируются. Вам следует подумать о добавлении session_write_close() в ваш вызов Ajax для снятия блокировки, если вы ничего не записываете в сеанс в вашем контроллере.

person romaricdrigon    schedule 06.04.2018