opcache,opcode,apc和apcu的区别】的更多相关文章

opcode opcode是php解析器生成的操作码,类似java的字节码,main.class文件. opcache opcache是php的扩展,是一个实现将PHP字节码(OPCode)缓存到共享内存中到扩展.缓存字节码的好处就是减少CPU对PHP程序的加载和解析. APC(可选的PHP缓存) APC也是用来缓存PHP字节码的扩展.但是现在主要使用的是APCu和OPcache.…
要说明opcode cache与JIT的区别,得先明白,字节码,又叫中间码与机器码的区别. 操作码(opcode) 一条机器指令.比如我们汇编语言写的一条操作语句. 机器码(machine code) 学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据. 机器码是电脑CPU直接读取运行的机器指令,运行速度最快,但是非常晦涩难懂,也比较难编写,一般从业人员接触不到. 而且机器码不支持跨平台,简单点将就是不同的CPU使用的机器码是不一样的. 字节码(byt…
简介: Zend Opcache .APC 这都是 PHP 代码加速器,将 PHP 源代码的编译结果缓存起来,再次调用时对比时间标记,如果没有改变则使用缓存数据,免去再次解析代码的开销. APC 止步于 PHP 5.4 ,Zend Opcache 从 PHP 5.5 开始集成,取代 APC . 一.安装 Zend Opcache 1.源码编译 PHP 时,加入 --enable-opcache 即可开启该扩展,之后稍做配置即可 ( PHP 5.6.17 ) 2.手动添加 Zend Opcache…
php opcode 缓存 apc. 其实,我自己的理解, php apc 缓存其实分两部分, 一部分是 缓存 类似于 java 编译的中间的 字节码, 不同于c 语言编译之后的二进制的机器码. php apc 来缓存php解释器解析 php产生的 opcode, 哈哈.纯属个人的瞎理解,如有错误,请大家指出, 不甚感激. 还有一部分是 data cache, (key / value map ), 也就是数据缓存, 这点类似于 memerched 和 redis  缓存, 用来存储数据, 将数…
一.opcache opcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销.   PHP 5.5.0 及后续版本中已经绑定了 opcache 扩展. 对于 PHP 5.2,5.3 和 5.4 版本可以使用PECL扩展中的 opcache 库.   windows下的php扩展下载地址: http://windows.php.net/downloads/pecl/releases/ 打开php…
什么是opcode opcode(operate code)是计算机指令中的一部分,用于指定要执行的操作,指令的格式和规范由处理器的指定规范指定 opcode是一种php脚本编译后的中间语言,就像java的ByteCode,或者.NET的MSL 为什么要使用opcode缓存 opcode cache的目的是避免重复编译,减少CPU和内存开销的.如果动态内容的性能瓶颈不在于CPU和内容,而在于IO操作,比如数据库查询带来的IO开销,这个时候opcode cache的性能提升是非常有局限的.无论如何…
1.PHP执行 PHP的运行阶段也分成三个阶段: Parse.语法分析阶段. Compile.编译产出opcode中间码. Execute.运行,动态运行进行输出.                                             由于PHP是个解释型语言执行的时候先得把程序读进来,然后由Zend引擎编译成opcode.最后Zend虚拟机顺次执行这些opcode(指令)完成操作.因此我们可 以把这个Opcode缓存起来,下次就能避免重新编译了. APC缓存作用如下: 2 .…
Optimizer+ 是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件,是第一个也是最快的 opcode 缓存工具.现在,Zend 科技公司将 Optimizer+ 在 PHP License 下开源成为 Zend Opcache. GitHub地址:https://github.com/zendtech/ZendOptimizerPlus Zend OPcache 通过 opcode 缓存和优化提供更快的 PHP 执行过程.它将预编译的脚本文件存储在共享内存中供以后使用,从而避免…
参考:http://www.laogui.com/Zend-Opcache 大家知道目前PHP的缓存插件一般有三个:APC.eAccelerator.XCache,但未来它们可能都会消失,因为PHP 5.5已经集成Zend Opcache,功能和前三者相似但又有少许不同,缓存速度据说比它们更快(注意:只是据说,我没测试过). 这几个PHP加速插件的主要原理都相同,就是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降 低服务器负载,它们的效率是…
注: 由于原链接已不存在, 所以我把图片重新整理了一下, 以便看起来更加直观 笔者注: 1>  PHP 性能提升之 PHP NG  =>  php next generation wiki:  https://wiki.php.net/phpng 说明: http://www.oschina.net/news/53677/php-5-7-twice-as-fast 2> hhvm  (php 虚拟机) http://www.oschina.net/news/50183/hhvm-3-0-…
Zend OPCache的前身是Zend Optimizer + (Zend O+),在PHP5.5的发行版本中自带了Zend O+,并重新命名为:Zend OPCache.但是默认是没有启用的,可以在ini文件中enable一下. 据统计,zend opcache比apc性能要好,可以提升提升 5%-9%. 值得关注的是Zend OPCache支持PHP5.2.0+的版本,也就是说只要是5.2以上的PHP,都可以是用Zend OPCache,而不需一定要升级到PHP5.5,所以在我们目前的生产…
apcu前身是apc,apc分为系统缓存和用户缓存 1.系统缓存是指PHP执行时增加缓存,减少PHP文件的反复检查和编译,从而达到系统加速的目的. 2.用户缓存是指,PHP代码中将数据写入缓存,是用户写入的数据,通过key和value的键值方式插入和读取.这种数据叫用户缓存. PHP5.5以后,opcache代替apc做为PHP加速的位置,也就是代替其系统缓存的位置.并将用户缓存功能独立出来,开启新的组件,叫apcu.因此,apc是不支持PHP5.5及其以上版本的. 其他可选缓存方案:redis…
原文来自于:http://www.searchtb.com/2014/02/apc-lock-php-fpm.html 最近线上产品出现了502错误.一般出现502错误,都是php-fpm 进程处理请求时出现异常导致的. 首先,查看了php-fpm 的进程数.发现php-fpm的进程数已经到达了php-fpm.conf中设置的最大值.最近流量没有特别的变动,这么多php-fpm进程,肯定有问题. ​然后,用pstack命令查看这些php-fpm进程都在干啥.​[hailong.xhl@s0100…
opcache PHP新的字节码缓存扩展 字节码缓存组件 Zend Optimizer+ 现在更改名字为 Zend opcache了.且在php 5.5版本后,会集成到php的官方组件中,也就没有必要安装其他的APC,eAccelerator等了.. APC与Opcache都是字节码缓存也就是,PHP在被编译的时候,首先会把php代码转换为字节码,字节码然后被执行. php文件第二次执行时,同样还是会重新转换为字节码,但是很多时候,文件内容几乎是一样的,比如静态HTML文件,生成后内容许久都不会…
一个系统的运行性能,除了程序本身要写的完善,还有要看php本身的一些问题,对于php的运行优化,主要有这些加速器:wincache,xcache,ZendOPcache,eAccelerator加速器等: Wincache:(Xee:微软的官网) wincache仅适应iis下搭建PHP,若是在windows下面运行其它php web服务器 wincache不是很好,可以考虑使用zend效果会更好(php5.5版本已经整合zend opache). 大家都觉得在PHP在windows下远不如在l…
XCACHE XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载.   XCache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本…
一. Zend Optimizer 和 Zend Guard Loader 作用和区别 两者的功能一样. Zend Optimizer 在PHP5.3以前的版本使用,解密和代码优化,提高PHP应用程序的执行速度,显著降低服务器的CPU负载. Zend Guard Loader 在php版本大于php5.3之后,解密和代码优化,提高PHP应用程序的执行速度,显著降低服务器的CPU负载. 在PHP版本大于php5.3开始Zend Optimizer 正式被Zend Guard Loader取代了.…
一. 下载一键安装包 LNMP   官方地址为:http://lnmp.org/ 登陆后运行:screen -S lnmp cd /usr/local/src wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz -full.tar.gz cd lnmp1.-full ./install.sh lnmp 安装 第1步:  输入MYSQL 的密码  默认为 root 第2步:询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启…
作者 | 伍冲斌  VPGAME 运维开发工程师 导读:VPGAME 是集赛事运营.媒体资讯.大数据分析.玩家社群.游戏周边等为一体的综合电竞服务平台.总部位于中国杭州,在上海和美国西雅图分别设立了电竞大数据研发中心和 AI 研发中心.本文将讲述 VPGAME 将服务器迁移至 Kubernetes 的过程. 背景 随着容器技术的日趋成熟,公司近期计划将服务迁移至容器环境,通过 Kubernetes 对容器进行调度.编排和管理.并借此机会,对服务进行标准化,优化整个 CI/CD 的流程,提高服务部…
VPGAME 是集赛事运营.媒体资讯.大数据分析.玩家社群.游戏周边等为一体的综合电竞服务平台.总部位于中国杭州,在上海和美国西雅图分别设立了电竞大数据研发中心和 AI 研发中心.本文将讲述 VPGAME 将服务器迁移至 Kubernetes 的过程. 背景 随着容器技术的日趋成熟,公司近期计划将服务迁移至容器环境,通过 Kubernetes 对容器进行调度.编排和管理.并借此机会,对服务进行标准化,优化整个 CI/CD 的流程,提高服务部署的效率. CI/CD 工具的选择 CI/CD 工具上,…
PHP四大加速缓存器opcache,apc,xcache,eAccelerator eAccelerator,xcache,opcache,apc(偏数据库缓存,分系统和用户缓存)是PHP缓存扩展, memcached缓存是数据库缓存扩展(APC比较偏向数据库缓存的),一般两者只有要安装其中一个即可 注意:(详情连接) 实际测试中发现当Cache数量超过一定阀值的时候,APC的性能不如Memcache opcache的性能优于其他几个缓存器 一般会选择opcache+memcached这个组合…
经常有人说php速度慢,其实语言层面的速度差异和实际的业务相比,不在一个数量级. 业务的瓶颈往往在于io,而不是CPU. 0x0 语言 语法 单引号和双引号 单引号不解析字符串里的变量,而双引号会解析,如果需要大量处理字符串,建议用单引号和字符串连接符"." === 和 == "=="会进行类型转换,比如"1"和1 ,用"=="为真,而"==="为假,如果类型相同的话,使用"==". 合…
php 通过反射 ReflectionMethod 类来获取类方法的相关信息,其中就包含方法的注释内容. 问题描述 在公司测试环境运行以下代码,如果是 cli 命令行模式运行,正常输出代码注释.如果是以网页打开这个页面,却会输出 bool(false). <?php class ReflectionTest { /** * 这是测试方法 * * @return int */ protected function methodTest() { return 9999; } } $ref = new…
折腾VPS的朋友,在安装好LNMP等Web运行环境后都会选择一些缓存扩展安装以提高PHP运行速度,常被人介绍的有eAccelerator.memcached.xcache.Alternative PHP Cache这几个缓存扩展,它们之间有什么区别?分别的作用又是什么?我们如何选择?这是本文给于大家的答案. 1.eAccelerator eAccelerator是一个自由开放源码PHP加速器,优化和动态内容缓存,提高了PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除…
转载  https://www.zybuluo.com/phper/note/1016714 啥是Opcode? 我们在日常的PHP开发过程中,应该经常会听见Opcache这个词,那么啥是Opcode呢? Opcache 的前生是 Optimizer+ ,它是PHP的官方公司 Zend 开发的一款闭源但可以免费使用的 PHP 优化加速组件. Optimizer+ 将PHP代码预编译生成的脚本文件 Opcode 缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗.同时,它还…
转载链接:Opcode是啥以及如何使用好Opcache 啥是Opcode? 我们在日常的PHP开发过程中,应该经常会听见Opcache这个词,那么啥是Opcode呢? Opcache 的前生是 Optimizer+ ,它是PHP的官方公司 Zend 开发的一款闭源但可以免费使用的 PHP 优化加速组件. Optimizer+ 将PHP代码预编译生成的脚本文件 Opcode 缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗.同时,它还应用了一些代码优化模式,使得代码执行更…
PHP 5.3.X   以前版本 为  Zend Optimizer PHP 5.3.X   之后 更名为  Zend Guard Loader 可以帮助php执行加密后的php代码 安装实例以Ubuntu Server 12.04 LTS 64位版本 mkdir /usr/zend    (把压缩包下载到此目录,因为压缩包名字太长,不好配置) wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-gli…
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+开头的正…
PHP的加速插件有三个:Zend Optimizer.Zend Guard Loader 和 Zend Opcache.但其实都是一个,针对不通的php版本.名字叫法不一样而已. Zend Optimizer 是针对PHP 5.3.X 之前用的插件名称. Zend Guard Loader 是针对php 之间的插件名称 Zend Opcache 是针对php5.6之后包括php7.0之后使用的插件名称. 考虑目前php基本都是php5.6起步.基本都是启用Zend Opcache . 具体配置如…
什么是opcode缓存? 当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode).Opcode cache的目地是避免重复编译,减少CPU和内存开销.如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O 开销,那么opcode cache的性能提升是非常有限的.但是既然opcode cache能带来CPU和内存开销的降低,这总归是好事. 现代操作码缓存器(Optimizer+,APC2.0+…