调整PHP的性能


Posted in PHP onOctober 30, 2013

负载瓶颈 一般主要在以下四个方面:
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 TheZendAccelerator 要钱的罗。我穷呀
3  APC  这个我最喜欢因为不要钱。效果还挺好哦
我们就说APC
安装 大概是这样的。通过pear来安装
#pear install apc
修改下php.ini 加上扩展
extension = /path/to/apc.so
OK就这么简单。但你再次运行PHP的时候。  这个APC就已经有作用了。编译代码就cache 在了share 内存中了。那个爽呀。
如果是window 的 找下这个里面有 这个扩展
APC 安装完了后我们还需要调整下APC 的各方面的参数。 这个当然按照你自己项目环境来调整了。

PHP 相关文章推荐
VML绘图板②脚本--VMLgraph.js、XMLtool.js
Oct 09 PHP
探讨PHP中OO之静态关键字以及类常量的详解
Jun 07 PHP
探讨如何在php168_cms中提取验证码
Jun 08 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
PHP如何将XML转成数组
Apr 04 PHP
php_pdo 预处理语句详解
Nov 21 PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
PHP数据过滤的方法
Oct 30 #PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 #PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 #PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 #PHP
单点登录 Ucenter示例分析
Oct 29 #PHP
php中过滤非法字符的具体实现
Oct 29 #PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 #PHP
You might like
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
php中chdir()函数用法实例
2014/11/13 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
利用Angularjs和Bootstrap前端开发案例实战
2016/08/27 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python 控制终端输出文字的实例
2019/07/12 Python
python config文件的读写操作示例
2019/09/27 Python
Python2与Python3的区别详解
2020/02/09 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
德国网上花店:Valentins
2018/08/15 全球购物
2014年社区植树节活动方案
2014/02/28 职场文书
酒店节能降耗方案
2014/05/08 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
三八妇女节标语
2014/10/09 职场文书