APC简介

  APC(Alternative PHP Cache)是一个PHP缓存。它在内存中存储PHP页面并且减少了硬盘的I/O。这对于性能的提升十分明显。你甚至可以在CPU使用率下降50%的情况下提升系统50%的性能。

  这篇教程我们会告诉大家如何在windows上安装APC。我已经在windows server 2003上成功测试。当然,在你也可以使用windows xp做为测试服务器。

  windows下安装PHP的APC拓展

  注意:你不能在一天服务器上同时安装APC和Zend Optimiser,二者只能选其一。

  按照下面的方法安装PHP的APC拓展。

  下载正确的版本

  我是用的PHP版本是5.2.6,附上下载地址:php_apc_dll for php5_2_6

  注意:确定你所下载的APC拓展版本对应了你的PHP版本。

  设置php.ini

  编辑php.ini文件,向其中的拓展区域部分添加如下代码

  extension = php_apc.dll

  重启服务器,使用phpinfo查看是否成功安装

  phpinfo();

  phpinfo查看apc拓展是否安装成功

  查看可用的内存

  创建一个php文件apcmeminfo.php

  print_r(apc_sma_info());

  //由缓存使用的内存数量使用这个公式来计算:

  total_memory = apc.shm_segments * apc.shm_size

  在这个例子中,可用的内存大约32 Mb。通常,如果我们需要在我们的缓存中超过32 Mb,我们应该增加APC使用的分段数量。然而,这可以导致web服务器错误,因此最好是增加片断的大小。我们应该逐步为缓存增加可用的总量,以避免内存的流失。

  默认的APC如下:

  apc.cache_by_default = On

  apc.enable_cli = Off

  apc.enabled = On

  apc.file_update_protection = 2

  apc.filters =

  apc.gc_ttl = 3600

  apc.include_once_override = Off

  apc.max_file_size = 1M

  apc.num_files_hint = 1000

  apc.optimization = Off

  apc.report_autofilter = Off

  apc.shm_segments = 1

  apc.shm_size = 30

  apc.slam_defense = 0

  apc.stat = On

  apc.ttl = 0

  apc.user_entries_hint = 100

  apc.user_ttl = 0

  apc.write_lock = On

  关于APC完整的参数设置的解释,请查阅:http://www.php.net/apc。

  下面是一个php.ini中的一个APC块。请将它们粘贴进你的php.ini文件中:

  apc.enabled = 1

  apc.shm_segments = 1

  apc.shm_size = 64

  apc.max_file_size = 10M

  apc.stat=1

  剩余其它的设置将会使用默认值。

  设置临时目录

  APC需要一个临时目录来存储文件。它会尝试在windows的临时目录缓存文件,事先请给临时目录写的权限。

  监控和调优缓存

  监控和调优apc缓存

  APC源包含一个php脚本,该脚本对于监控和调优性能的缓存是很有用的。

  1, 下载APC监控文件:http://pecl.php.net/package/apc

  2, 压缩包中的apc.php文件显示APC监控信息。

  3, 运行这个文件,你会看到一个图形显示你的缓存一些统计数据。

  4, 调优缓存,查看General Cache Information and Detailed Memory Usage and Fragmentation sections(总体缓存信息和详细的内存使用以及碎片部分)。

  5, 监视Cache Full Count和碎片百分比,如果Cache Full Count大于0,表示缓存已满并且频繁读写,因为没有足够的内存被分配。增加apc.shm_size可解决问题。

  6, 碎片百分比应该是0%,但是随着内存频繁的读写,其值会上涨。

  apc.php的安全

  注意apc.php的安全,应该使用安全认证的方式来控制apc.php的信息输出,比如:

  // Moodle user Authentication

  require_once("../config.php");

  require_once($CFG--->libdir.'/adminlib.php');

  require_login();

  require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID));

  // Disable APC Auth(APC 的安全认证)

  defaults('USE_AUTHENTICATION',0);

  //....

APC配置主要讲解在WIN下的配置,类linux下的配置网上文章比较多 
1.下载php_apc.dll 到PHP的ext目录下 
2.修改php.ini 添加extension=php_apc.dll 
在php.ini尾部添加配置项 
; APC Setting 
[APC] 
;开启stat会报错 
;apc.stat=0 
apc.enabled=”1″ 
apc.shm_segments=”1″ 
;这里的问题,这里修改了默认内存配置WIN7下出错,不知道大家遇到没的? 
;apc.shm_size=”128″ 
; apc.ttl=7200 
; apc.user_ttl=7200 
; 修正參數 
apc.ttl=”300″ 
apc.user_ttl=”300″ 
apc.num_files_hint=”1024″ 
apc.mmap_file_mask=”E:/Wamp/tmp/apc.XXXXXX” 
apc.enable_cli=”1″

最新文章

  1. UDP及其组播,接收发送封装
  2. Cocos2dx 多点触控
  3. 转: KindEditor 图片空间文件增加删除文件、文件夹功能(ASP语言环境)
  4. [课程设计]Scrum 2.3 多鱼点餐系统开发进度 (订单一览设计)
  5. 读<jquery 权威指南>[1]-选择器及DOM操作
  6. DuiLib——第二篇UIBase
  7. mysql 远程访问
  8. link 参数
  9. 【CF】142 Div.1 B. Planes
  10. 【转】重载(overload),覆盖(override),隐藏(hide)的区别
  11. [LeetCode] Interleaving String 解题思路
  12. Struts2常规配置
  13. c#分支语句;循环语句(随堂练习)
  14. JIRA搭建
  15. STM32 IAP 在线升级详解(转)
  16. ASO的效果应该如何去评判,有什么标准可以量化指标
  17. 初见jQuery EasyUI
  18. Android Studio 添加已经移除的Module
  19. VsCode编写和调试.NET Core
  20. 一个新的Android Studio 2.3.3可以在稳定的频道中使用。A new Android Studio 2.3.3 is available in the stable channel.

热门文章

  1. MYSQL 索引创建与使用
  2. Java NIO阻塞式通信
  3. Mac 系统安装redis服务
  4. nyoj-67-三角形面积(S=(1/2)*(x1y2+x2y3+x3y1-x1y3-x2y1-x3y2))
  5. 超简单tensorflow入门优化程序&&tensorboard可视化
  6. POJ2411Mondriaan's Dream(DP+状态压缩 or 插头DP)
  7. 转载:jquery插件实现图片延迟加载(lazyload.js)
  8. webpack 故障处理
  9. $_validate 自动验证 字段是否重复
  10. 内存优化总结:ptmalloc、tcmalloc和jemalloc