使用APC缓存PHP opcode

1.  关于版本

我的php版本是5.3.10  最开始使用 APC-3.1.8  编译成功,但是 php -m 得不到扩展 , 换成 APC-3.1.9  后解决。

2.  关于配置

apc.cache_by_default = 0 的时候 需要 filters 来匹配开启的文件  一般这两个是配套使用

apc.cache_by_default 默认启用缓存。1表示“启用”,0表示“禁用”
apc.filters 根据逗号分隔的POSIX正则表达式判断文件需要缓存还是不需要缓存。以a+开头的正则
表达式将强制APC不缓存与此正则表达式匹配的任何文件。以a-开头的正则表达式将强制
APC缓存与此正则表达式匹配的任何文件
apc.stat 启用或禁用APC对于所有请求PHP脚本是否有更改的检查。每次调用脚本时均会执行此
过程。如果禁用该设置,在对PHP脚本进行任意更改后均需要重新启动WEB服务器以
清除缓存并更改脚本内容。0=禁用,1=启用,默认1
apc.enabled 启用或禁用APC缓存。0=禁用,1=启用,默认1
apc.shm_size 设置APC允许使用的共享内存大小,此值以兆字节为单位
apc.shm_segments 设置可用的共享内存段总数
apc.include_once_override 启用或禁用include_once和require_once的优化。启用该设置时,可减少PHP内部函数进行的额外系统调用。0=禁用,1=启用,默认0
apc.optimization 设置优化级别。0=禁用优化功能
apc.num_files_hint 设置你认为需要缓存的文件数。默认值1000,如果不确定文件数,可以设置0
apc.ttl 设置文件存储在缓存中的过期时间,以秒为单位。
apc.write_lock 开启该设置将强制单个进程缓存特定的脚步。适用于必须缓存多个文件的大流量WEB服务器或应用程序

3.  cli 模式下的变量缓存 开启  

apc.enable_cli = 1

4.  性能  yii框架  xhprof测试结果

没有开启之前是这样

YiiBase::autoload   Inc: 29.730 ms (18.1%)  Excl: 0.867 ms (0.5%)  35 total calls

开启之后  同样 35次load操作

YiiBase::autoload   Inc: 6.477 ms (5.5%)     Excl: 0.454 ms (0.4%)   35 total calls

耗时明显降低  

 

5. 变量缓存

$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));

6. 进程通信工具

尝试了下 多进程时的APC变量缓存,  主进程是可以和子进程共享的,说明 apc可以作为进程通信工具, 这点太赞了。

 

     

posted on 2015-05-28 17:03  出发的兰彻  阅读(703)  评论(0编辑  收藏  举报

导航