2010-02-11 64 views
1

我有用PHP开发的网站。我使用操作码缓存。PHP操作码缓存在硬盘中?

但是因为像eAccelerator或APC这样的Opcode缓存被缓存在RAM中,所以我需要太多的RAM。

所以我寻找任何项目或技术缓存PHP操作码在硬盘上。

非常感谢

(我的网站不产生钱,所以林想着便宜的解决方案)

回答

1

所有操作码缓存允许您配置使用的共享内存的最大尺寸(寻找一个配置选项shm - 对于保存的内存 - 以名称,例如apc.shm_size)。所以你可以控制他们不使用太多的内存。

一些缓存还允许您在磁盘缓存,而不是/除了缓存在内存:

的问题是,如果只是缓存收益少量的共享内存或磁盘你的任何性能相比,没有操作代码缓存普通的PHP。与往常一样,当使用缓存时,您应该将其作为基准。

+0

谢谢,.. 但在eAccelerator中使用“disk_only”并重新启动lighttpd后,我的RAM使用率仍然很高的PHP-CGI。我需要重新启动服务器吗? – 2010-02-11 10:18:40

+0

你是否对所有'eaccelerator.keys','eaccelerator.sessions'和'eaccelerator.content'使用'disk_only'?你是否尝试调整其他eaccelerator参数?你如何测量你的内存使用量?你确定它是PHP,而不是其他的东西导致高负载?您是否尝试过使用lighttpd开发人员制作的XCache ? – 2010-02-11 12:34:16

+0

是的,我对所有“eaccelerator.keys”,“eaccelerator.sessions”和“eaccelerator.content”使用“disk_only”。我使用“top”来查看RAM的使用情况。我没有使用XCache。更新:在重新引导服务器后也不起作用,并且当将“disk_only”更改为“shm_only”时,也使用了虚拟内存。它看起来像我的服务器只是忽略新的设置。 – 2010-02-11 12:51:57