【发布时间】:2011-07-04 18:35:40
【问题描述】:
我在一个 Windows 工作站上工作,我使用 WampServer 作为我的开发平台,编写 PHP 应用程序,然后在 Linux 上运行。
我很习惯在 Linux 上使用 APC,它速度极快,对我来说是必须的。但是,当我在 Windows 上使用它时,没有性能提升总是让我感到惊讶。
这导致每页的生成时间接近 1 秒,例如,对于严重依赖 Zend 框架的应用程序。大部分时间都花在解析 PHP 文件上(我通过基准测试 include()s 验证了这一点)。同样的应用程序在 MacOS 上的 Linux 上运行速度可以提高 10 倍。
扩展已正确加载:
> var_export(extension_loaded('apc'));
true
这是我的配置:
[APC]
apc.enabled = 1
apc.cache_by_default = 1
apc.enable_cli = 0
apc.shm_segments = 1
apc.shm_size = 64M
apc.max_file_size = 1M
apc.stat=1
有没有人有类似的经历并有一些技巧可以分享?
编辑:更多信息:我将 apc.php 文件从 APC 源存档复制到我的 Web 目录。在那里,我可以看到 APC 缓存正在工作,报告超过 90% 的命中率与未命中率。尽管如此,速度并没有增加。包含框架中的几十个文件需要半秒钟,或没有 APC。在 Linux 上的同等机器上,它的速度要快 10 倍。
【问题讨论】:
-
尝试在你的Windows上执行
$t = new APCIterator('user');。 -
@OZ_:它应该做什么?
-
如果您看到错误警告 - APC 未启用。
-
@OZ_:
var_dump($t)按预期给出object(APCIterator)#5 (0) {}。 APC 已启用。 -
更新:我现在也收到了这个problem on Linux & PHP 5.4。
标签: php windows performance apc php-extension