是的,我看过session_start seems to be very slow (but only sometimes),但我的问题略有不同。
我们有一个PHP应用程序,它在memcached(特定的弹性缓存)中存储非常简单的会话,并且一直在监视我们执行速度最慢的页面加载。几乎所有慢速的人都将大部分时间花在Zend_Session::Start
上,我们无法弄清楚原因。这是一个非常AJAX-y
的前端,越来越多地朝着单页应用程序移动,每个页面加载会对后端产生大量的同时请求,而且有些请求的时间长达三到四倍应该完全基于此。
显然,这不是每个请求,但我们关注的是足够的。有没有人见过这种行为?我们的印象是memcache没有阻塞(怎么可能?),所以最坏的情况是用户有一个bum会话,但multiple-second
session_start
等待时间似乎莫名其妙。
答案 0 :(得分:0)
看一下你的会话垃圾收集机制(玩概率和除数)。
如果gc正在减慢应用程序的速度,请考虑手动清理旧会话(例如,将gc概率设置为1并通过cron运行gc脚本)。
另一种可能性: