将eAcceleratorcaching目录放在RAM中是可取的吗?

我刚在服务器上安装了eaccelerator,它将运行Magento。 我有一个硬盘,所以想知道如果我要将eacceleratorcaching目录安装到RAM,我的服务器性能会提高。 有什么缺点? 我有16G的内存,所以我不认为256M的分配eaccelerator目录大小应该以负面的方式影响它。

谢谢

可能没有用,除非它自己的内存pipe理非常糟糕。

eAccelerator将编译的PHP脚本存储在共享内存中,并直接从中执行代码。 它只在短时间内创build锁,同时在caching中search已编译的PHP脚本,因此一个脚本可以由多个引擎同时执行。 无法放入共享内存的文件只能在磁盘上进行caching。

https://github.com/eaccelerator/eaccelerator/wiki

编辑 – 为超出评论的记忆设置添加备注。

默认情况下, eaccelerator将分配给操作系统可用的“共享内存”

; The amount of shared memory (in megabytes) that eAccelerator will use. ; "0" means OS default. Default value is "0". eaccelerator.shm_size = "0" 

一个Linux的盒子最有可能是32MB(33554432字节):

 $ sudo sysctl -a | grep kernel.shm kernel.shmmax = 33554432 kernel.shmall = 2097152 kernel.shmmni = 4096 kernel.shm_rmid_forced = 0 

我怀疑你的编译代码甚至会达到这样的大小,也许如果你运行大量的虚拟主机,你很多人,并有一个PHP的范围很大? 看来所有支持存储额外的“会话数据”和“用户数据”已从eAccelerator删除,所以你不用担心任何。

如果你重新configuration共享内存高一点,那么是的,你不可能填充或甚至触摸256MB的磁盘。 我甚至会试图用eaccelerator.shm_only = "1"来closures磁盘caching,因为当谈到增加延迟到磁盘读取已编译的代码的延迟时,会提高收益。 找出最好的方法是做一些生产,如build立你的网站的负载testing。