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

[经验分享] windows下PHP APC拓展的安装和配置

[复制链接]

尚未签到

发表于 2016-5-21 11:19:57 | 显示全部楼层 |阅读模式
  
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文件,向其中的拓展区域部分添加如下代码
1extension = php_apc.dll



重启服务器,使用phpinfo查看是否成功安装
1phpinfo();
phpinfo查看apc拓展是否安装成功查看可用的内存
创建一个php文件apcmeminfo.php
1print_r(apc_sma_info());



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

2total_memory = apc.shm_segments * apc.shm_size



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

2apc.enable_cli = Off

3apc.enabled = On

4apc.file_update_protection = 2

5apc.filters =

6apc.gc_ttl = 3600

7apc.include_once_override = Off

8apc.max_file_size = 1M

9apc.num_files_hint = 1000

10apc.optimization = Off

11apc.report_autofilter = Off

12apc.shm_segments = 1

13apc.shm_size = 30

14apc.slam_defense = 0

15apc.stat = On

16apc.ttl = 0

17apc.user_entries_hint = 100

18apc.user_ttl = 0

19apc.write_lock = On



关于APC完整的参数设置的解释,请查阅:http://www.php.net/apc。
下面是一个php.ini中的一个APC块。请将它们粘贴进你的php.ini文件中:
1apc.enabled = 1

2apc.shm_segments = 1

3apc.shm_size = 64

4apc.max_file_size = 10M

5apc.stat=1



剩余其它的设置将会使用默认值。
设置临时目录
APC需要一个临时目录来存储文件。它会尝试在windows的临时目录缓存文件,事先请给临时目录写的权限
监控和调优缓存



  
  
DSC0001.jpg
 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的信息输出,比如:
1// Moodle user Authentication

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

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

4require_login();

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

6 

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

8defaults('USE_AUTHENTICATION',0);

9//....

运维网声明 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-219876-1-1.html 上篇帖子: FFMPEG在windows平台编译的详细过程 下篇帖子: windows下架设subversion服务器(完整版)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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