Total Pageviews

Saturday 13 October 2012

Centos下,使用内存,优化PHP的Session读写性能


首先先介绍个概念/dev/shm
从名称上可以看出来/dev/shm是一个设备文件,可以把/dev/shm看作是系统内存的入口,把它看做是一块物理存储设备,一个tmp filesystem,你可以通过这个设备向内存中读写文件, 以加快某些I/O高的操作。
Linux默认(CentOS)/dev/shm分区的大小是系统物理内存的50%,使用/dev/shm对文件操作的效率会高很多,可以通过ls /dev/shm查看下面是否有文件, 如果没有就说明当前系统并没有使用该设备。
‍如果你的PHP程序使用了Session,则可以将Session存储位置由原来的磁盘,改为设置到/dev/shm上 (session.save_path = “/dev/shm”),以内存为存储方式存放Session文件,为当/dev/shm空间不够时可以占用swap的空间,所以不用担心存储空间不够 用。想想看,从磁盘IO操作到内存操作,php读写SESSION的速度会快多少?只是需要注意,存储在/dev/shm的数据,在服务器重启后会全部丢 失。不过这对于Session来说是无足轻重的。还等什么快去尝试下吧^_^。
注:可以随时用df -hT /dev/shm 命令查看使用情况。