PHP APC - 为什么加载缓存数组操作码很慢?

标签 php apc opcode-cache

我正在使用 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/

相关文章:

php - MySQL 查询 : generate a report of the top votes for the each food type

php - 将 BLOB 插入 Oracle 时出错

php - APC 何时删除旧条目?

php - 有没有办法测量 PHP 中的解析时间?

wordpress - 优化APC缓存

xampp 中的 phpmyadmin 无法在 Windows 10 上运行

php - Magento 2 - 如何在 header.phtml 中获取购物车项目总数

php - 如何使用相同的 APC 缓存运行多个 PHP 站点?

crash - win7上ring0 APC DLL注入(inject)崩溃目标进程

php - xcache 是如何工作的?代码覆盖率?木屐? OOM?