![Apache 2.2、PHP5 和 APC](https://linux22.com/image/526467/Apache%202.2%E3%80%81PHP5%20%E5%92%8C%20APC.png)
我读到,APC 导致 Apache 抛出段错误。
此错误仍然有效吗?我之所以问这个问题,是因为我们有一个在当地集市上使用的 Web 应用程序 (PHP),目前使用量很大。
我们的内存消耗没有问题(目前使用了 8GB 中的 1GB),但是 CPU 使用率相当高。
操作码缓存是否有助于降低 CPU 使用率?或者我应该增加 apache 分支的数量?
答案1
操作码缓存可能有助于减少一些 CPU 负载,因为它确实被定义为增加响应时间,因为所有的解释都已经完成。有些事情需要看一下:
- 代码的哪些部分耗费时间?是否可以进行优化?
- 应用程序是否数据库密集型并且查询是否可以优化?
当应用程序处于负载状态时,apachetop 显示什么?所有线程都在使用吗?如果是这样,那么您肯定应该设置更多线程。
答案2
如今,APC 几乎是 PHP 的默认操作码缓存。
使用操作码缓存可以减少 CPU 的使用率,在脚本复杂的情况下实际上会减少很多。
创建更大的工作池(即您所说的“分叉数量”)不会减少 CPU 使用率,但如果您的服务器确实很忙,它可能会减少延迟。