Web 服务器:将会话文件存储在 /dev/shm 上时对性能产生影响

Web 服务器:将会话文件存储在 /dev/shm 上时对性能产生影响

我有一个网站,运行在典型的设置上:Linux、Apache、PHP、MySQL。
然而,它并不典型,因为它的流量非常大(每天有 400,000 多次访问),因此,效率对我来说变得越来越重要。
我一直在寻找可以优化的地方,现在,我的注意力集中在 PHP 的会话文件上。目录
中不断读取和创建大量会话文件/tmp

/dev/shm所以我的问题是:为了加快速度,将会话文件存储在(tmpfs)中是一个好主意吗?

答案1

  • 存储在为此目的而创建的内存支持文件系统(如 tmpfs)中:也许。
  • 储存于/dev/shm不!

/dev/shm具有明确的含义:它旨在用作共享内存进程间通信子系统的后备存储。其中的文件应该使用shm_open(3)这些文件通常被用作通信进程之间的共享内存映射。这个位置被实现为内存支持的文件系统,这是一个实现细节。

如果您想要某个地方存储临时文件,请为此目的创建自己的挂载点。您应该考虑的另一个选择是为这些会话文件使用不同的存储,例如数据库存储(可能是使用您自己的 MySQL MEMORY 表)会话处理程序或者数据库查询语言)。

相关内容