PHP-APC 经常超出 apc.shm_size 限制

PHP-APC 经常超出 apc.shm_size 限制

我正在一个共享服务器上实施 apc,该服务器目前有 1000 个站点(使用 wordpress、moodle 等)。我正在寻找管理页面,发现“缓存已满计数”正在快速增长。我尝试增加“apc.shm_size”的值,减少“apc.ttl”的值,增加“apc.shm_segments”的值,但无法解决这个问题。我做错了什么?我写下了一些信息:

apc.ini 文件:

扩展=apc.so

apc.shm_size = 256

apc.启用 = 1

apc.ttl = 300

apc.用户TTL = 300

Ubuntu:12.04

PHP:5.3.10

亚太经合组织:3.1.7

服务器有16GB内存

限制共享内存:256MB

当缓存达到100%时,是否有可能不再清除缓存?

答案1

尝试设置您的GC_TTL 属性降到 600 左右,然后你的最大文件大小,这是 APC 将缓存的最大大小,大约为 2M。

apc.gc_ttl = 600
apc.max_file_size = 2M

另外,正如迈克尔指出的那样,1000 个站点需要 256M 的空间确实相当低。

首先,尝试增加apc.shm_size限制。

apc.shm_size = 2048M

如果您达到了内核共享内存限制(这可能相关但并非总是如此),请尝试增加apc.shm_segments

apc.shm_segments = 10
apc.shm_size = 256M
apc.max_file_size = 2

相关内容