浏览模式: 普通 | 列表
3月, 2022 | 1
今天发现php-fpm有慢语句 session_start()
网上认为是相同浏览器访问相同网站,不同的tab会出现这个问题。
锁了session写入但是能读取。

网上解决方法
在写入完session后立即执行掉 session_write_close()
也就是保存当前session,然后解除锁定。


推论:
此站没有用文件保存session,而是使用了memcached,同样涉及到session锁死的问题
不过高并发下才出现可能是memcached设置的并发量不够
就把原来的1024直接改为4096,运行一段时间看负载情况


另外session赋值结束可以使用 session_commit() ,避免php页执行时间长导致session锁死
下面的例子可以演示 一个调用session的php运行如果没有结束,其它php运行就会一直等待下去,从而php-fpm超时
...

阅读全文…
1