• 使用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可以作为进程通信工具, 这点太赞了。

         

  • 相关阅读:
    C/C++中变量的作用域和存储类型简介
    Java与JavaScript的区别你明白吗?
    js-2018-11-09 关于Array中的srot()方法和compare()方法
    js-2018-11-01 关于break和continue语句
    0427表格学习
    0426基础标签学习
    css3部分整理
    img图片占不满整个div
    基于google protobuf 的 socket udp 通信
    微信小程序echarts学习记录
  • 原文地址:https://www.cnblogs.com/sailrancho/p/4536317.html
Copyright © 2020-2023  润新知