php缓存优化

php程序的执行流程
—》客户端(浏览器)请求Get hello.php
—-》cgi服务器接(譬如apache)收到请求,根据配置寻找php的处理程序(譬如mod_php)
—-》apache加载php的处理程序,php的处理程序读取php.ini初始化php的解释环境
—-》mod_php定位寻找hell.php,将其载入到内存中来
—-》mod_php编译源代码成为opcode树
—-》mod_php执行opcode树
—-》生成结果给浏览器
常用的php缓存优化:apc、Xcache、eAccelerator,zend Optimizer以及php5.5提出的Opcache。
1,apc(alternative php cache:可选php缓存):apc缓存主要分为两部分:系统缓存和用户数据缓存。
系统缓存:将php源码编译后的结果缓存起来,以后每次调用时都会对比时间标记,如果未过期,则调用缓存结果,默认缓存时间是一小时,这样会浪费cpu时间,可以在php.ini中设置永不过期,不过这样每次改运php代码都要重启web服务器。目前apc使用最多的就是系统缓存。
用户数据缓存:用户可以通过apc_add()、acp_fetch()添加和读取缓存,如果数据量不是很大,可以使用,数据量很大的话还是使用memcache。详细请访问:apc缓存配置及使用
2,eaccelerator。通过将php脚本缓存在其编译状态来提高脚本的性能,从而消除编译的开销,它还优化脚本以加速其执行,eaccelerator通常可以减少服务器开销,并将php代码的速度提升1-10倍。
eaccelerator将编译的php存储在共享内存中,并直接从中执行代码,他只是在短时间内创建锁,同时在缓存文件中搜索编译的php脚本,因此一个脚本可以由多个引擎同时执行,无法容纳在共享内存中的文件只能缓存在磁盘上。
3,xcache(国人开发):与eaccelerator相似,将源码编译后放到内存中,以提高php性能。
安装配置:windows下xcache安装与配置
4,zend optimizer。zend optimizer 是一个代码优化的模块,可以调优php代码,实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。代码性能可以提高40%到100%,从这点上来说,应该不具有强大的缓存功能,没有读过源码,不清楚是否具有缓存 以及缓存质量如何。
5,opcache。
详见:PHP开启opcache方法

你可能感兴趣的:(php)