我们刚刚在我们的服务器上安装了 APC,查看 APC 的统计数据后发现 APC 的缓存大约需要 5 - 10 分钟才能填满,然后完全清空。
当前设置包括:
- apc.shm_段 1
- apc.shm_大小 256M
- apc.ttl 1800
- apc.用户_ttl 1800
该服务器有 16GB 的 RAM,运行约 40 个虚拟主机。我的主要问题是:
- 大致来说,shm_size 值应该设置为多少?1 - 2GB 安全吗?还是完全取决于服务器上运行的应用程序?
- 我读到 ttl 将删除“过期”的缓存文件,因此将 ttl 设置为只是低于缓存填充所需的时间?
- 设置多个共享内存段有什么好处吗?
答案1
现在,我们已经解决了这个问题,并且稳定了下来,缓存命中率约为 95%。我们看到“无法将内存分配给池”错误,因为缓存已满,而不是自行清空。
我们将缓存大小设置为 1GB,将 ttl 设置为 120(2 分钟) - 这意味着我们的缓存实际上从未超过其容量的 30-40%。