我正在使用 APC 来减少我的 PHP 文件的加载时间。除了我定义了 100 多个数组的一个文件外,我的文件加载速度非常快。这个 270 kb 的文件需要 200 毫秒来加载。其余文件充满了对象、方法和函数。
我想知道:OP 代码缓存是否不适用于数组?
我的 APC 缓存应该足够大以处理我所有的类。目前我的缓存有 40% 是免费的。我的命中率是 99%。
apc.shm_size=32 M
apc.max_file_size = 1M
apc.shm_segments= 1
APC 3.1.6
我使用的是 PHP 5.2、Apache 2 和 Windows Vista。
最佳答案
所有数组都必须是 serialized当存储在缓存中然后 unserialised当您再次从缓存中加载它们时,这会花费时间并且可能是您遇到的速度损失的重要因素。 (供您引用:Serialisation)
speed up serialisation 的一种方式有点是使用igbinary , igbinary 可以通过将 apc.serializer=igbinary
放在 php.ini 或在 APC 上的 ini 文件中与 APC 无缝使用。 (注意:这需要 APC >= 3.1.7)
你也可以输入 apc.stat (在同一个 ini 文件中)为 0,这样它只检查一次文件的修改,而不是每次都检查。
关于PHP APC - 为什么加载缓存数组操作码很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11302967/