我在 Ubuntu 8.04 服务器上运行 XCache 和 PHP5 时遇到了一些性能问题。一些 Zend Framework 应用程序的峰值内存约为 12MB。Apache 2 提供页面前的一般响应时间约为 550ms 到 950ms。当我打开 XCache、重新启动 Apache 2 并刷新页面时,第一次结果相同。但第二次刷新速度增加了约 50%。页面提供速度更快,峰值内存约为 2MB 到 4MB。
但是,使用一天之后,XCache 就没有任何好处了。峰值内存使用量和响应时间都回到了原来的值。
我尝试将缓存增加到xcache.size
(64M
最初设置为16M
)。这很有帮助,但只持续了几个小时。我还将缓存设置xcache.count
为4
,因为服务器有四核处理器。但是,这似乎也没有用,所以我将默认值更改为xcache.ttl
和3600
更改xcache.gc_interval
为 900。希望旧的缓存条目会过期。但仍然没有区别。当我手动调用缓存时,/etc/init.d/apache2 reload
缓存似乎被重置了,一切又恢复正常了,但只持续了一天左右。
该服务器托管着一些基于 PHP 的轻量级网站和几个基于 Zend Framework 的网站。后者确实受益于 XCache 带来的性能提升。
有什么想法下一步该尝试什么吗?
答案1
最终是内存问题。我已将 增加到size
并194M
缩短了gc_interval
,以及ttl
。
我们托管了几个基于 PHP 的网站(我认为大约有 100 个)。其中大多数网站非常轻量,但有些使用 Zend Framework 及其不同版本。服务器有足够的内存可用,因此增加缓存大小并进行调整ttl
可以gc_interval
使情况好得多。
另一个提示是设置 XCache 管理页面。它能让你很好地了解缓存的内容。