会话锁的主题已经讨论过很多,我知道“魔术”session_write_close()
功能。然而...
我有一个Ajax调用,执行相当长的操作(需要几分钟)。为了获得进度信息,我每隔10秒运行一次Ajax调用。但是我看到所有这些呼叫都处于待处理状态,并在主长呼叫结束时开始处理。在Apache状态下,我看到这些调用处于工作状态。
我在第一个脚本中调用了session_write_close()
。使用Xdebug我已经跟踪了脚本的执行情况,并确保session_write_close()
被调用为最后一个与会话相关的操作,之后不会调用start_session()
。然而,所有随后的呼叫仍然停滞不前。
我还能错过什么?
答案 0 :(得分:0)
似乎问题与会话锁定无关。我注意到长时间运行的脚本与MySQL 100%的CPU一起消耗。因为它不是生产服务器,所以我只有一个CPU分配给VM。我已经将第二个CPU添加到VM,问题已经消失了!