HDD上的旧PHP会话文件

时间:2012-04-18 17:43:29

标签: php windows session

好的,请原谅我可能因为这里很厚或者我对StackOverflow的研究不足,但目前正面临着让实时服务器稳定以便研究各种选项的压力。

我们在服务器(Windows 2008 / IIS7)上注意到tmp文件夹有一百万个会话文件(Garbage Collection似乎没有工作),所以这可能导致我的PHP站点上的加载时间出现问题过去2/3周,我注意到负载问题。

我的理论是,当PHP创建会话并想要阅读它时,它必须通过它们百万条记录才能找到我的会话。

任何想法,很高兴被告知我的理论完全废话。


更新了 清除超过一百万个会话文件似乎减轻了硬盘驱动器的压力,而PHP网站似乎比以前更具响应性。等待负载增加,以查看这些会话文件是否导致初始问题。

2 个答案:

答案 0 :(得分:1)

由于这是一个I / O操作,它在访问tmp目录中的会话时会变慢。检查{in http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime

的php ini设置

我在服务器故障检查中看到了类似的问题 https://serverfault.com/questions/373024/php-processes-run-one-at-a-time-always-taking-100-of-one-core

答案 1 :(得分:0)

php 5.4提供了一个扩展的sessionhandler类,因此会话可以存储在keyvalue扩展,数据库或其他任何东西中。对于较旧的PHP版本,有类似的功能。

如果会话似乎是一个瓶颈,应该考虑这一点。