设为首页 收藏本站
查看: 854|回复: 0

[经验分享] PHP APC系统缓存配置

[复制链接]

尚未签到

发表于 2018-12-23 12:47:47 | 显示全部楼层 |阅读模式
一、 软件包  a) APC-3.0.18.tgz
  二、 安装配置
  a) Tar zxvf APC-3.0.18.tgz
  b) Cd APC-3.0.18
  c) ./configure --enable-apc --enable-apc-mmap --with-apxs=/usr/local/apache/bin/apxs --with-php-config=/usr/local/php/bin/php-config
  d) Make make test
  e) Make install
  f) Cd /usr/local/php/lib
  g) Vi php.ini加入如下语句
  h) extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613"
  i) extension="apc.so"
  j) [APC]
  k) apc.ttl=7200
  l) apc.enabled=1
  m) apc.shm_size=60
  n) /usr/local/apache/bin/apachectl –k stop
  o) /usr/local/apache/bin/apachectl –k start
  p) mv apc.php /usr/local/apache/htdocs/
  q) http://localhost/apc.php
  r)
  三、相关参数说明
  [APC]
  ; Alternative PHP Cache 用于缓存和优化PHP中间代码
  apc.cache_by_default = On
  ;SYS
  ; 是否默认对所有文件启用缓冲。
  ; 若设为Off并和以加号开头的apc.filters指令一起用,则文件仅在匹配过滤器时才被缓存。
  apc.enable_cli = Off
  ;SYS
  ; 是否为CLI版本启用APC功能,仅用于测试和调试目的才打开此指令。
  apc.enabled = On
  ; 是否启用APC,如果APC被静态编译进PHP又想禁用他,这是唯一的办法。
  apc.file_update_protection = 2
  ;SYS
  ; 当你在一个运行中的服务器上修改文件时,你应当执行原子操作。
  ; 也就是先写进一个临时文件,然后将该文件重命名(mv)到最终的名字。
  ; 文本编辑器及 cp, tar 等程式却并不是这样操作的,从而导致有可能缓冲了残缺的文件。
  ; 默认值 2 表示在访问文件时如果发现修改时间距离访问时间小于 2 秒则不做缓冲。
  ; 那个不幸的访问者可能得到残缺的内容,不过这种坏影响却不会通过缓存扩大化。
  ; 如果你能确保所有的更新操作都是原子操作,那么能用 0 关闭此特性。
  ; 如果你的系统由于大量的IO操作导致更新缓慢,你就需要增大此值。
  apc.filters =
  ;SYS
  ; 一个以逗号分隔的POSIX扩展正则表达式列表。
  ; 如果源文件名和任意一个模式匹配,则该文件不被缓存。
  ; 注意,用来匹配的文件名是传递给include/require的文件名,而不是绝对路径。
  ; 如果正则表达式的第一个字符是"+"则意味着所有匹配表达式的文件会被缓存,
  ; 如果第一个字符是"-"则所有匹配项都不会被缓存。"-"是默认值,能省略掉。
  apc.ttl = 0
  ;SYS
  ; 缓存条目在缓冲区中允许逗留的秒数。0 表示永不超时。建议值为7200~36000。
  ; 设为 0 意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。
  apc.user_ttl = 0
  ;SYS
  ; 类似于apc.ttl,只是针对每个用户而言,建议值为7200~36000。
  ; 设为 0 意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。
  apc.gc_ttl = 3600
  ;SYS
  ; 缓存条目在垃圾回收表中能够存在的秒数。
  ; 此值提供了一个安全措施,即使一个服务器进程在执行缓存的源文件时崩溃,
  ; 而且该源文件已被修改,为旧版本分配的内存也不会被回收,直到达到此TTL值为止。
  ; 设为零将禁用此特性。
  apc.include_once_override = Off
  ;SYS
  ; 请保持为Off,否则可能导致意想不到的结果。
  apc.max_file_size = 1M
  ;SYS
  ; 禁止大于此尺寸的文件被缓存。
  apc.mmap_file_mask =
  ;SYS
  ; 如果使用?enable-mmap(默认启用)为APC编译了MMAP支持,
  ; 这里的值就是传递给mmap模块的mktemp风格的文件掩码(建议值为"/tmp/apc.XXXXXX")。
  ; 该掩码用于决定内存映射区域是否要被file-backed或shared memory backed。
  ; 对于直接的file-backed内存映射,要设置成"/tmp/apc.XXXXXX"的样子(恰好6个X)。
  ; 要使用POSIX风格的shm_open/mmap就需要设置成"/apc.shm.XXXXXX"的样子。
  ; 你还能设为"/dev/zero"来为匿名映射的内存使用内核的"/dev/zero"接口。
  ; 不定义此指令则表示强制使用匿名映射。
  apc.num_files_hint = 1000
  ;SYS
  ; Web服务器上可能被包含或被请求的不同源文件的大致数量(建议值为1024~4096)。
  ; 如果你不能确定,则设为 0 ;此设定主要用于拥有数千个源文件的站点。
  apc.optimization = 0
  ; 优化级别(建议值为 0 ) 。
  ; 正整数值表示启用优化器,值越高则使用越激进的优化。
  ; 更高的值可能有非常有限的速度提升,但目前尚在试验中。
  apc.report_autofilter = Off
  ;SYS
  ; 是否记录所有由于early/late binding原因而自动未被缓存的脚本。
  apc.shm_segments = 1
  ;SYS
  ; 为编译器缓冲区分配的共享内存块数量(建议值为1)。
  ; 如果APC耗尽了共享内存,并且已将apc.shm_size指令设为系统允许的最大值,
  ; 你能尝试增大此值。
  apc.shm_size = 30
  ;SYS
  ; 每个共享内存块的大小(以MB为单位,建议值为128~256)。
  ; 有些系统(包括大多数BSD变种)默认的共享内存块大小非常少。
  apc.slam_defense = 0
  ;SYS(反对使用该指令,建议该用apc.write_lock指令)
  ; 在非常繁忙的服务器上,无论是启动服务还是修改文件,
  ; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件。
  ; 这个指令用于设置进程在处理未被缓存的文件时跳过缓存步骤的百分率。
  ; 比如设为75表示在遇见未被缓存的文件时有75%的概率不进行缓存,从而减少碰撞几率。
  ; 鼓励设为 0 来禁用这个特性。
  apc.stat = On
  ;SYS
  ; 是否启用脚本更新检查。
  ; 改动这个指令值要非常小心。
  ; 默认值 On 表示APC在每次请求脚本时都检查脚本是否被更新,
  ; 如果被更新则自动重新编译和缓存编译后的内容。但这样做对性能有不利影响。
  ; 如果设为 Off 则表示不进行检查,从而使性能得到大幅提高。
  ; 不过为了使更新的内容生效,你必须重启Web服务器。
  ; 这个指令对于include/require的文件同样有效。不过需要注意的是,
  ; 如果你使用的是相对路径,APC就必须在每一次include/require时都进行检查以定位文件。
  ; 而使用绝对路径则能跳过检查,所以鼓励你使用绝对路径进行include/require操作。
  apc.user_entries_hint = 100
  ;SYS
  ; 类似于num_files_hint指令,只是针对每个不同用户而言。
  ; 如果你不能确定,则设为 0 。
  apc.write_lock = On
  ;SYS
  ; 是否启用写入锁。
  ; 在非常繁忙的服务器上,无论是启动服务还是修改文件,
  ; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件。
  ; 启用该指令能避免竞争条件的出现。
  apc.rfc1867 = Off
  ;SYS
  ; 打开该指令后,对于每个恰好在file字段之前含有APC_UPLOAD_PROGRESS字段的上传文件,
  ; APC都将自动创建一个upload_的用户缓存条目(就是APC_UPLOAD_PROGRESS字段值)。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654825-1-1.html 上篇帖子: the questions of php5's extension Module 下篇帖子: php生成静态页面的原理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表