偷窥 php 编译cache
时间:2008-10-30
来源:互联网
负载品颈 一般主要在以下四个方面:
1 数据库
2 服务器CPU
3 硬盘 I/O
4 网络带宽
除了这四个鬼东西。还有什么值得我们优化的呢。PHP真很强。今天就说下在PHP的 脚本级上来调整PHP的性能。
如果你想在单台服务器 上提高PHP的性能。我们可以使用“编译缓存”。 编译cache 不单能提高性能而且会随着PHP程序的容量和代码复杂性的增加 服务器的性能也增加。什么是编译cache呢。等下告诉你。我们先说下PHP编译脚本文件所要做的两步吧:
1 php引擎读脚本文件,解释脚本然后在ZEND引擎里生成可执行的中间代码
2 ZEND 第二次开始 执行中间代码
我 们要注意。第一步是在每次PHP脚本文件被请求的时候都要重复一次的东西。 而且这个过程,会因为脚本里面又包括 include()require() eval() 而递归 重复执行第一步。 可想而知消耗有多大了。特别PHP文件很大的时候。所以为什么建议写PHP文件时候不赞成行数过多。
说到这里大家就明白了。其实我们可以在 第一步那里做点文章。如果我们把第一步解释文件那里把解释后的代码缓存到共享内存里面。如果有第二个请求这个脚本的时候就可以跳过第一步而直接进入第二步。因为第一步已经cache在内存里面了。
我们看图比较一下
先看下如果没使用 编译cache 的情况
再来个使用了编译cache 的情况
行了看看就明白了。是吧。有了 编译cache 少走了很多弯路。 特别是在你的代码里有大量的 include 呀 require 呀的时候特别有效。
现在介绍三个编译cache:
1 The ionCube Accelerator 不开源的说。
2 The Zend Accelerator 要钱的罗。我穷呀
3 APC 这个我最喜欢因为不要钱。效果还挺好哦
我们就说APC
安装 大概是这样的。通过pear 来安装
#pear install apc
修改下php.ini 加上扩展
extension = /path/to/apc.so
OK就这么简单。但你再次运行PHP的时候。 这个APC就已经有作用了。编译代码就cache 在了share 内存中了。那个爽呀。比女人干女人还爽
如果是window 的 找下这个里面有 这个扩展 http://pecl4win.php.net/list.php
APC 安装完了后我们还需要调整下APC 的各方面的参数。 这个当然按照你自己项目环境来调整了。
APC 有几个参数。自己百度去。
完了。
还没完呢。 请关注我的blog www.laoniphp.com

作者: 逆雪寒 发布时间: 2008-10-30

作者: 逆雪寒 发布时间: 2008-10-30


作者: 17too 发布时间: 2008-10-30
作者: xnliren 发布时间: 2008-10-30
作者: 逆雪寒 发布时间: 2008-10-30
顶
作者: panjinww 发布时间: 2008-10-30
作者: liexusong 发布时间: 2008-10-30
对食?
作者: shanji 发布时间: 2008-10-30
作者: fhjr999 发布时间: 2008-10-30

作者: 逆雪寒 发布时间: 2008-10-30



作者: xiaoxiao0503 发布时间: 2008-10-30



作者: ws00377531 发布时间: 2008-10-31
打不开啊
作者: 1987 发布时间: 2008-12-12
作者: 春的世界 发布时间: 2008-12-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28