【发布时间】:2016-09-22 09:18:36
【问题描述】:
我看到来自 Symfony2 会话管理器组件的非常奇怪的行为。特别是 SessionHandlerProxy::read() 函数在我的生产环境中有时会很慢。
Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy::read
我在运行 Ubuntu 的 Amazon EC2 上使用 Apache2,并使用默认的 Symfony2 会话存储(不是 Redis 或类似的东西),但我想知道我是否应该这样做。我安装了 NewRelic 来跟踪我的交易,报告如下:
缓慢的响应是间歇性的,我没有注意到请求/分钟和缓慢的会话读取时间之间有任何明显的相关性。我被难住了,有什么想法可以尝试吗?
【问题讨论】:
-
I/O 吞吐量如何?本机处理程序是一个文件处理程序。
-
感谢您的回复。不知道我明白你在问什么。本机会话处理程序将会话存储在本地文件中?那么与更快的请求相比,大量请求的 I/O 吞吐量会降低吗?
-
默认情况下,PHP 中的会话存储在文件中。如果您在存储会话的驱动器上遇到异常数量的 I/O 操作,这可能会导致您所描述的行为。值得一试。
-
谢谢awons,我看了一下I/O速率,在麻烦的时候它非常低——从来没有超过50 kb/s,一定是别的。
-
恐怕有很多可能的原因,我们没有足够的洞察力来弄清楚那里发生了什么:(
标签: php symfony session response newrelic