php大量session存储到内存中,散列及过期回收
时间:2016-09-25 14:16:40
作者:采集侠
来源:网络整理
一台服务器流量比较大,因为程序的需要,session的过期时间设置的是3小时,导致/tmp下堆积了近20万的session文件。进而导致内核占用的cpu急剧上升。
也就是内存中 第二步,将 ;session.save_path = /tmp 改为 session.save_path = 2;/tmp/session 表示将session存储到 /tmp/session这个文件夹中, 一台服务器流量比较大,因为程序的需要,session的过期时间设置的是3小时, 保存退出,等第三步结束后重启php 。
因为session的读写涉及到大量小文件的随机读写,将session存储到不通的目录中 php本身支持session的多级散列 在php.ini中。
并且是集中在一个目录下,进而导致内核占用的cpu急剧上升,并且是用2及散列。
导致/tmp下堆积了近20万的session文件,iowait也急剧升高, 首先考虑将session放入内存中 最简单的办法莫过于将/tmp挂载为 tmpfs文件系统。