![](/img/trans.png)
[英]How to install php 5.3 on windows 10 / 64bit / wampserver 64bit?
[英]APC decreasing php performance??? (php 5.3, apache 2.2, windows vista 64bit)
我有一个Apache / 2.2.15(VC9)和PHP / 5.3.2(VC9线程安全)作为Vista 64位计算机上的apache模块运行。 一切正常。
我正在基准测试的项目(使用apache的ab实用程序)基本上是标准的Zend Framework项目,不涉及数据库连接。 平均(中位数)apache响应约为0.15秒 。
在我使用标准设置安装APC(3.1.4-dev VC9线程安全)后,请求响应时间突然提高到1.3秒(!) ,这是不可接受的...所有apc设置看起来总是很好(通过apc.php脚本:足够的shm内存,没有高速缓存已满,碎片0%)。
唯一的区别是禁用统计信息查找(apc.stat = 0)。 然后,响应下降到0.09秒 ,这最终比没有apc时更好。 IIRC,可以预期并且很显然,统计信息查找会产生一些开销,但是,与不使用apc扩展进行运行相比,它是否应该具有更高的性能?
或换句话说,为什么apc.stat会产生如此大的开销?
听起来好像统计检查绕过了文件缓存-但是我想甚至Microsoft NT也可以确保文件缓存是一致的。
(FWIW:我在apc上的经验是它在Linux上带来了很大的改进)
我建议尝试使用其他文件系统-但是使用NT时,没有太多选择。
如果您对结果有信心(是在测试之间重新启动还是只是重新启动Apache?),然后在http://bugs.php.net/上发布错误(似乎那里似乎没有任何相关的内容)
C。
编辑
..尽管这只是我想到的-运行测试时,系统内存发生了什么? 如果用ab实例用完了所有物理内存,则将没有文件缓存。
更新 :我发现主要的恶意软件是由防病毒软件引起的...我不明白为什么会发生这种情况(为什么仅使用apc),但是这不再是问题了(注意:这是一台开发机)
现在,如果使用apc(apc.stat = 1)运行,则响应时间约为0.13秒 ,这比不使用apc时( 0.15秒 )要好一点。 它比预期的要好得多,但我现在将其保留...
感谢symcbean的回答。
防病毒软件很愚蠢,它会认为每次APC运行并生成输出时,都会有一个新应用程序并要对其进行重新扫描。 如果禁用缓存“ apc.cache_by_default = Off”,应该会看到一个改进,尽管最好只是禁用AV扫描已编译的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.