您现在的位置: Gufang > 博客 > 学无止境 > 正文
服务器性能卡顿,系统盘temp文件夹存在大量sess开头文件
最近顾方软件工作室的一台服务器上的网站打开很慢,也很卡顿,而且重启后也总是cpu占用率非常高,而一旦关闭iis则恢复正常。于是进行了仔细地排查。当在清理垃圾文件时,发现c:\windows\temp文件夹中存在超级多以sess_开头的文件,此类文件之多使得无法正常的打开temp文件夹和删除清理。
 

通过搜查找到了问题所在并进行了解决,在此详细记录以供参考。

一、 temp文件夹大量文件的删除

以sess开头的存在于temp系统临时文件夹的文件,是php的session保存文件,由于php建立了session却在过期后没有成功删除,于是导致大量文件的积累。

清理方法很简单,新建批处理文件del_temp.bat,其中写入如下命令:

代码如下:

del %TEMP% /s /q *.*

保存后双击运行,即开始进行删除处理(也可直接在cmd命令行中输入执行)
你也可以将其加入开机启动项,以使得每次重启系统后即执行一次删除处理。

提示:

1. 如果这里执行一直显示无法进行(顾方软件工作室最先遇到的情况即如此),则可能是temp文件夹及其中部分文件正处于使用状态,那么你可以在同目录下新建一个文件夹tmp,然后修改系统环境变量temp和tmp的位置为此,接着重启系统使得新的临时目录生效,此时即可对temp文件任意删改了。

2. 顾方软件工作室的服务器temp文件夹内存在数十万这样的文件,清理了若干小时才完成。故在进行处理前应停止iis:

net stop iisadmin 关闭iis服务
net start iisadmin 开启iis服务

3. 当然,你不希望在处理的过程中让网站关闭如此之久,所以你应依次进行的操作是:

1>. 关闭iis
2>. 更改php保存session的默认路径(参考后面内容)
3>. 开启iis,检查服务器所有站点是否正常
4>. 执行del_temp.bat进行清理

二、修改php的Session保存路径session.save_path

1. 打开php.ini文件,查找到

“;session.save_path = "/tmp"”
将其修改为指定的位置用于存储session,例如,顾方软件工作室将其改为:

session.save_path = "c:/tmp/phpsession"
当然你也可以使用分级目录的方式,比如改为这样:

session.save_path="5;c:/tmp/phpsession"

关于session的分级目录存放请参考后续内容详解

2. 新建文件夹路径:c:/tmp/phpsession

3. 添加该路径(即phpsession文件夹)的internet来宾账户修改和写入权限,注意最好不要给予执行权限。
 

4. 启动iis,观察该目录是否会有新的session文件产生。

发表评论(0)
姓名 *
电子邮件
QQ
评论内容 *
验证问题 * 江苏省的省会是哪个城市?请填写正确答案
验证码 * 图片看不清?点击重新得到验证码