【问题标题】:PHP Opcode cached in hard disk?PHP Opcode缓存在硬盘中?
【发布时间】:2010-02-11 06:30:14
【问题描述】:

我有用 PHP 开发的网站。我正在使用操作码缓存。

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

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

非常感谢

(我的网站不赚钱,所以我在考虑更便宜的解决方案)

【问题讨论】:

    标签: php opcode


    【解决方案1】:

    所有操作码缓存都允许您配置使用的共享内存的最大大小(在名称中查找带有 shm 的配置选项 - 对于 SHAred Memory -例如apc.shm_size)。所以你可以控制他们不使用太多的内存。

    除了在内存中缓存之外,一些缓存还允许您在磁盘上进行缓存:

    问题是,与没有操作码缓存的普通 php 相比,少量共享内存或仅磁盘缓存是否会在性能上为您带来任何好处。与使用缓存时一样,您应该对此进行基准测试。

    【讨论】:

    • 谢谢,.. 但是在 eAccelerator 中使用“disk_only”并重新启动 lig​​httpd 后,我的 php-cgi 的 RAM 使用率仍然很高。我需要重启服务器吗?
    • 您是否为所有eaccelerator.keyseaccelerator.sessionseaccelerator.content 使用了disk_only?您是否尝试调整其他加速器参数?你如何测量你的内存使用量?你确定它是php而不是其他导致高负载的东西吗?您尝试过由 lighttpd 开发人员制作的 XCache xcache.lighttpd.net > 吗?
    • 是的,我对所有“eaccelerator.keys”、“eaccelerator.sessions”和“eaccelerator.content”都使用“disk_only”。我使用“top”来查看 RAM 使用情况。我没有使用 XCache。更新:重新启动服务器后也不起作用,并且当将“disk_only”更改为“shm_only”时,虚拟内存也被使用。看起来我的服务器只是忽略了新设置。
    • 您是如何应用这些设置的?通过 php.ini? phpinfo() 的输出说明了什么?
    • 我正在应用“/etc/php.d/eaccelerator.ini”中的设置。 eAccelerator 的 phpinfo() 在这里:img717.imageshack.us/img717/7960/screenshotj.png
    猜你喜欢
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 2017-01-27
    • 2014-08-23
    • 2014-11-20
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    相关资源
    最近更新 更多