我问的原因是因为在使用时top
我没有看到像APC这样的过程.所以我假设在apache进程中会占用内存使用量.
是这种情况,这是否意味着APC正在使用的内存在每个apache进程中被复制,从而占用的内存可能比最初分配给它的内存多得多?
如果是这种情况,memcache是一个更好的解决方案,即使它没有在多个负载平衡服务器上使用?
APC使用共享内存来存储其操作码缓存.在mod_php的情况下,此内存在所有Apache进程之间共享.因此,即使有5个Apache进程,30MB缓存也只占用30MB.
但是,当使用mod_php时,每个Apache进程都会浪费大量资源,因为每个进程都包含PHP解释器.因此,当Apache提供静态内容(html,css,js,图像文件等)时,它会使用加载了完整PHP解释器的进程.为了解决这个问题,有些人通过mod_fastcgi或mod_fcgi使用FastCGI. 使用FastCGI的操作码缓存变得有点棘手.
目前无法使用memcache作为操作码缓存.即使有,它可能会比想要的慢.