PHP 操作码缓存器

PHP 操作码缓存器

有 APC、XCache 和 EAccelorator。它们彼此之间有何不同?又各自如何工作?

APC 和 EAcc 是否会将缓存缓存到磁盘,以便每个 php 进程都可以访问它?而 xcache 在每个 php 进程的内存中工作?(此处运行 suphp)

答案1

我从未尝试过 XCache 或 Eaccelerator,但我总是在服务器上使用 apc,它在 Debian 上几乎不需要任何配置就能很好地工作。我做了我的博客中提供了一些 Zend Framework Quick Start 的基准测试,该帖子是意大利语,但基准测试是英语的(它是一个 shell 记录稿)。

在我的服务器上,Apc 将快速启动主页的平均请求时间从67ms缩短到了18ms。

更新:据我所知,apc 使用共享内存,因此如果您将 apache 与 mod_php 一起使用,则每个 apache 进程都使用相同的 opcache,并且使用的内存总量相同。为了在 php cli 中使用相同的 opcache,您必须设置启用cli至 1。

要查看一些结果,您可以使用提供的 apc.php 脚本,它将显示缓存使用情况,您可以看到每个进程都使用了缓存(否则它将毫无用处)

相关内容