阿里云SLB健康检测后端服务器组产生百万级别的php的0k大小session文件
今天早上在登录公司一台阿里云的服务器上vim修改配置文件以及touch文件时报错:no space left on device
df -h 查看了磁盘空间,发现磁盘空间还很充足
df -i 发现indoes已经爆满了,当时忘记了截图,解决问题后的截图,当时IUse%已经到了100%
这台实例是属于应用服务器组,由阿里云的SLB均衡负载到后端应用服务器组,这时候还没上线只是部署测试阶段,那么INodes怎么会爆呢。网上查阅了资料,说这是因为路径下有太多的小文件导致indoes用光导致爆粗,究竟是哪里产生了这么多小文件。
于是我find /目录 | wc -l 统计了一下根下各个目录下的文件个数,发现/home的文件个数达到了300多万个,这个正是我们部署应用的目录,于是
find /home -xdev -printf ‘%h\n’ | sort | uniq -c | sort -k 1 -n
这个目录文件数量排第一,正是存放php的session的路径,一统计这个session目录,好家伙300w个文件,占满INodes的罪魁祸首就是他。但是为什么会产生这么多session,这套环境还没上线测试的也还不多哪来那么多session。仔细想了想