我目前正在使用 APC 运行 php5,后者采用默认配置。然而,在设置 munin 来监控 APC 之后,我对结果感到惊讶:
- apc.shm_大小:30
- apc.gc_ttl: 3600
- apc.ttl: 0
- 已使用:14MB
- 请求率:100 个请求/秒
- 碎片:0
- 命中率:80%(每小时有几次降至 0)
因此,显而易见的问题是:我如何调整配置以实现更高的命中率。我发现很奇怪,可用内存没有得到充分利用,命中率仍然低于我的预期。
谢谢任何提示!
答案1
事实证明,我的问题是由于在 CGI/FastCGI 模式下运行 PHP 引起的。由此产生的 PHP 进程不共享 APC 缓存,因此我的监控结果完全不正确。
为了解决这个问题,我已将 apache 配置为使用 mod_fastcgi 开始与 php 的 FPM/FastCGI 配合使用。PHP 的 CPU 使用率显著下降,缓存现在已正确完成!