哪里APC存储其操作码和用户变量缓存?(Where does APC store its opcod

2019-07-30 03:08发布

我想问的原因是因为使用的时候top我没有看到一个过程,像APC东西。 所以,我认为内存使用情况将在Apache进程来解释。

是的情况下,和这是否意味着APC利用每Apache进程被复制的内存,从而占用了比原先分配给它可能更多的内存?

如果是这种情况将内存缓存是一个更好的解决办法,即使它没有被多loadbalanced服务器使用?

Answer 1:

APC使用共享内存来存储它的操作码缓存。 在mod_php的的情况下,这个存储器的所有Apache进程之间共享。 因此,一个30MB缓存只占用30MB,即使有5个Apache进程。

但是,在使用mod_php的时候,每个Apache进程并为每个进程包含PHP解释浪费了大量的资源。 因此,当阿帕奇提供静态内容(HTML,CSS,JS,图像文件等),它使用与加载完整的PHP解释器的过程。 为了解决这个问题,有些人通过的mod_fastcgi或mod_fcgi使用FastCGI的。 使用FastCGI的操作码缓存变得有点棘手。

目前还没有办法使用内存缓存操作码缓存。 即使有,它可能会比预期的要慢。



Answer 2:

除了是一个操作码高速缓存中,APC还提供共享存储器中。 这有力地表明,它有自己的内部共享内存类似memcached的系统。



文章来源: Where does APC store its opcode and user variable cache?