php - Symfony2 : Very Slow Session Handling

标签 php mysql symfony session symfony-2.8

我在生产环境中使用 Symfony2 (2.8.22)、AWS EC2 和 RDS 看到与 session 相关的 MySQL 查询非常慢。我问过类似的问题here不久前,当我使用默认的 Symfony 文件系统 session 处理程序时。我现在使用 MySQL 处理程序,这可能更有问题。

这些缓慢的查找在 12 小时左右的时间里尤其严重,在此期间,我的应用程序的平均吞吐量约为每分钟 80-90 个请求。

其他 MySQL 查询似乎性能完美,并且问题似乎与 session 处理无关。在其他事务中,我可能会看到 MySQL session 删除,这也占用了总事务时间的 60%-90%。我上一个问题中的一个答案提出,速度缓慢可能是由于 session 锁定造成的,在这种情况下我会问:我可以做些什么来加快这个过程吗? ~20 秒处理 session 是 Not Acceptable 。

我附上了 New Relic 的几份报告,说明了挂起的情况。 enter image description here

enter image description here

最佳答案

我在这里重新发布了我对您的 Symfony 问题发表的评论。

我相信您的应用程序中必须有并发个请求,例如 Ajax 轮询请求。当网站在多个浏览器选项卡或窗口中打开时,这些请求可能会发生, session 被锁定在一个浏览器选项卡或窗口中,并且来自其他选项卡的 ajax 请求被阻止。 如果您没有向 Controller 中的 session 写入任何内容,您应该考虑在 Ajax 调用中添加 session_write_close() 来释放锁定。

关于php - Symfony2 : Very Slow Session Handling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44663925/

相关文章:

mysql - 在 Magento 中按城市获取终身销售额

MySql 选择两列之间唯一值的行

php - symfony2/ Twig : how to use include in a block used in a form theme?

php - Symfony2 : "Fatal error: Class service..." while trying to include a class as an service in config. yml (TCPPDF)

php - Twig - 如何在模板内原生显示 RedBean 关系?

php - Laravel 如何使用 Eloquent 连接表并使用 where 条件?

PHP CLI pcntl 在 PHP7.0 Ubuntu xenial 服务器中不工作

php - 如何在 PHP 查询中使用 1 个以上的 WHERE 选择?

php - 如何在PHP中解析ElasticSearch JSON

mysql - 外键上的 SQL 索引