Zend_Session ::开始无法忍受的缓慢(但有时只是)

时间:2014-04-03 03:48:01

标签: php session zend-framework memcached amazon-elasticache

是的,我看过session_start seems to be very slow (but only sometimes),但我的问题略有不同。

我们有一个PHP应用程序,它在memcached(特定的弹性缓存)中存储非常简单的会话,并且一直在监视我们执行速度最慢的页面加载。几乎所有慢速的人都将大部分时间花在Zend_Session::Start上,我们无法弄清楚原因。这是一个非常AJAX-y的前端,越来越多地朝着单页应用程序移动,每个页面加载会对后端产生大量的同时请求,而且有些请求的时间长达三到四倍应该完全基于此。

显然,这不是每个请求,但我们关注的是足够的。有没有人见过这种行为?我们的印象是memcache没有阻塞(怎么可能?),所以最坏的情况是用户有一个bum会话,但multiple-second session_start等待时间似乎莫名其妙。

1 个答案:

答案 0 :(得分:0)

看一下你的会话垃圾收集机制(玩概率和除数)。

如果gc正在减慢应用程序的速度,请考虑手动清理旧会话(例如,将gc概率设置为1并通过cron运行gc脚本)。

另一种可能性:

  • 会话机制被锁定(因此应用程序等待解锁,然后写入)
  • 保存了太多数据