php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
本文实例讲述了php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法。分享给大家供大家参考,具体如下:
一、opcache
opcache通过将PHP脚本预编译的字节码存储到共享内存中来提升PHP的性能,存储预编译字节码的好处就是省去了每次加载和解析PHP脚本的开销。
PHP5.5.0及后续版本中已经绑定了opcache扩展。对于PHP5.2,5.3和5.4版本可以使用PECL扩展中的opcache库。
windows下的php扩展下载地址:
http://windows.php.net/downloads/pecl/releases/
打开php.ini文件,找到[opcache]
;dll地址 extension=php_opcache.dll ;开关打开 opcache.enable=1 ;开启CLI opcache.enable_cli=1 ;可用内存,酌情而定,单位为:Mb opcache.memory_consumption=128 ;ZendOptimizer+暂存池中字符串的占内存总量.(单位:MB) opcache.interned_strings_buffer=8 ;对多缓存文件限制,命中率不到100%的话,可以试着提高这个值 opcache.max_accelerated_files=10000 ;opcache会在一定时间内去检查文件的修改时间,这里设置检查的时间周期,默认为2,(单位:秒) opcache.revalidate_freq=1 ;打开快速关闭,打开这个在PHPRequestShutdown的时候回收内存的速度会提高 opcache.fast_shutdown=1
二、APC
AlternativePHPCache(APC)是一个开放自由的PHPopcode缓存。它的目标是提供一个自由、开放,和健全的框架用于缓存和优化PHP的中间代码。
下载apc扩展dll,选择你对应的PHP版本
http://windows.php.net/downloads/pecl/releases/apc/
把下载的php_apc.dll放入php的ext扩展目录下。
打开php.ini文件,配置如下:
[apc] extension=php_apc.dll apc.enabled=1 ;共享内存块的数目 apc.shm_segments=1 ;共享内存块的大小(单位:MB) apc.shm_size=64 ;优化级别,更高的值则使用更主动的优化 apc.optimization=1 ;源文件的数目,不确定设置为0 apc.num_files_hint=0 ;缓存条目在缓冲区中允许逗留的秒数 apc.ttl=7200 ;针对每个用户缓存条目在缓冲区中允许逗留的秒数 apc.user_ttl=7200 ;缓存条目在垃圾回收表中能够存在的秒数 apc.gc_ttl=7200 ;文件写锁 apc.write_lock=on
三、xcache
xcache是一个开源的opcode缓存器/优化器。
下载xcache,选择对应PHP版本的xcache
http://xcache.lighttpd.net/pub/Releases/
把php_xcache.dll放到php的ext目录下。
打开php.ini,配置如下:
[xcache-common] extension=php_xcache.dll [xcache.admin] xcache.admin.enable_auth=On xcache.admin.user="admin" xcache.admin.pass="md5后你的密码" [xcache] ;选择底层内存共享实现方案 xcache.shm_scheme="mmap" xcache.size=128M ;设置为CPU数 xcache.count=1 ;只是个参考值 xcache.slots=8K ;缓存时间 xcache.ttl=1200 ;垃圾回收的时间间隔 xcache.gc_interval=1200 ;同上,针对变量缓存设置 xcache.var_size=4M xcache.var_count=1 xcache.var_slots=8K xcache.var_ttl=1200 ;变量最大缓存时间 xcache.var_maxttl=7200 xcache.var_gc_interval=1200 xcache.var_namespace_mode=0 xcache.var_namespace="" xcache.readonly_protection=Off ;对于win系统,这里不是文件路径 xcache.mmap_path="xcache" xcache.coredump_directory="" xcache.coredump_type=0 xcache.disable_on_crash=Off xcache.experimental=Off xcache.cacher=On xcache.stat=On xcache.optimizer=Off [xcache.coverager] xcache.coverager=Off xcache.coverager_autostart=On xcache.coveragedump_directory=""
四、eAccelerator
eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。它还有对脚本起优化作用,以加快其执行效率。
下载eAccelerator
http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds
把下载到的eAccelerator_ts.dll放到php的ext目录下。
打开php.ini,配置如下:
[eAccelerator] extension="eAccelerator_ts.dll" eaccelerator.shm_size="16" eaccelerator.cache_dir="设置缓存目录" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.log_file="设置日志文件" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php缓存技术总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。