PHP服务缓存优化之ZendOpcache、xcache、eAccelerator

  • A+
所属分类:PHP学习

PHP服务缓存优化原理

PHP服务缓存优化之ZendOpcache、xcache、eAccelerator

 

Nginx 根据扩展名或者过滤规则将PHP程序请求传递给解析PHP的FCGI,也就是php-fpm进程

PHP服务缓存优化之ZendOpcache、xcache、eAccelerator

 

缓存操作码(opcode)

Opcode,PHP编译后的中间文件,缓存给用户访问

当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码文件,该文件是执行PHP代码后的一种二进制文件表现形式。默认情况下,这个编译好的操作码文件由PHP引擎执行后丢弃;而操作码缓存的原理就是将编译后的操作码保存下来,并放入到共享内存里,以便再下一次调用该PHP页面时重用它,避免了相同代码的重复编译。节省了PHP引擎重复编译的时间,降低了服务器负载,同时减少了CPU和内存的开销.

常用的PHP缓存加速软件

1)xcache

经测试,xcache效率更好、社区活跃、兼容PHP版本多

2)ZendOpcache

Apache公司自主研发软件,5.5版本以后自带,加enbale-opcache编译参数直接使用,但是软件稳定性有待检测

3)eAccelerator

5.3版本以前经常使用的加速软件,随着5.5版本升级,和xcache等优秀软件的出现,社区活跃度开始下降

缓存软件首选xcahe、持续关注ZendOpcache...

xcache部署

1)下载xcache,添加为PHP扩展模块,编译安装

2)配置php扩展生效

3)重启php后模块生效

4)xcache配置文件

5)查看PHP chache加载情况

6)web界面配置

 

PHP服务缓存优化之ZendOpcache、xcache、eAccelerator

ab压力测试效果

1)未加xcache之前

2)配置xache之后

由于是虚机测试环境,不一定十分准确,未安装xcache并发数在400-500,安装后并发数在5000左右,缓存效果提升10倍以上...

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: