session_start似乎很慢(但只是有时)
由于一些奇怪的原因,就在今天,我们的服务器决定在会话开始期间非常慢。对于每session_start,服务器要么在 30 秒后超时,要么需要大约 20 秒才能启动会话。这很奇怪,因为它已经很长时间没有这样做了(我们的服务器上一次这样做是在大约7个月前)。我试图将会话更改为通过数据库运行,这工作正常,但是,随着我们当前网站的构建,需要几天的时间才能在每个页面上进行更改会话的加载以包含新的会话处理程序。因此,我的问题仍然是:
为什么它这么慢,为什么只是有时?
我们在一个专用的hetzner服务器上运行,具有24GB的RAM,并且CPU足够快,可以运行一个简单的Web服务器(我相信是Xeon,但我不确定)。我们在服务器上运行 debian,使用 apache+fastcgi+php5 设置。
服务器不会报告太多负载,也不会通过服务器状态和命令报告。 报告我们的网络链接没有任何问题(同样,这不会导致本地会话处理缓慢)。 报告进程接管整个硬盘没有问题。如果通过 vim 写入会话文件所在的 tmp 文件夹,则操作速度很快。top
Vnstat
IOtop
同样,为了清楚起见,我在这里主要关心的不是我们是否应该切换到数据库或内存缓存版本的会话,而只是问为什么会发生这种情况,因为我看的所有内容似乎都工作正常,除了PHP本身。
编辑:我相信,PHP tmp目录中的最大文件是2.9 MB,所以没有什么应该产生影响的。
更新:我从来没有弄清楚出了什么问题和/或如何解决它,但是在我们切换到memcached / db会话后,问题消失了。