PHP性能优化 产生高度优化代码


Posted in PHP onJuly 22, 2011

1.将PHP升级到最新版

提高性能的最简单的方式是不断升级、更新PHP版本。

2.使用分析器

网站运行缓慢的原因颇多,Web应用程序极其复杂,让人扑朔迷离。而一种可能性在于PHP代码本身。这个分析器可以帮助你快速找出造成瓶颈的代码,提高网站运行的总体性能。

Xdebug PHP extension提供了强大的功能,可以用来调试,也可以用来分析代码。方便开发人员直接跟踪脚本的执行,实时查看综合数据。还可以将这个数据导入到可视化的工具 KCachegrind中。

3.检错报告

PHP支持强大的检错功能,方便你实时检查错误,从比较重要的错误到相对小的运行提示。总共支持13种独立的报告级别,你可以根据这些级别灵活匹配,生成用户自定义的检测报告。

4. 利用PHP的扩展

一直以来,大家都在抱怨PHP内容太过繁杂,最近几年来开发人员作出了相应的努力,移除了项目中的一些冗余特征。即便如此,可用库以及其它扩展的数量还是很可观。甚至一些开发人员开始考虑实施自己的扩展方案。

5.使用PHP加速器

一般情况下,PHP脚本被PHP引擎编译后执行,会被转换成机器语言,也称为操作码。如果PHP脚本经过反复编译而得到相同的结果,那为什么不完全跳过编译过程呢?

通过PHP加速器,你完全可以实现这一点,它缓存了PHP脚本编译后的机器码,允许代码根据要求立即执行,而不经过繁琐的编译过程。

对PHP开发人员而言,目前提供了两种可用的缓存方案,一种是APC(Alternative PHP Cache,可选PHP缓存),它是一个可以通过PEAR安装的开源加速器。另一种流行的方案是Zend Server,它不仅提供了操作码缓存技术,也提供了相应页面的缓存工具。

6.通过内存缓存来避免高成本操作

PHP通常在检索和数据分析方面扮演着重要角色,这些操作可能会导致性能降低。实际上有些操作是完全没有必要的,特别是从数据库中反复检索一些常用的静态数据。不妨考虑一下短期使用 Memcached extension来缓存数据。Memcached的扩展缓存与libMemcached库协同工作,在RAM中缓存数据,也允许用户定义缓存的期限,有助于确保用户信息的实时更新。

英文原文:http://www.phpbuilder.com/columns/php-performance-tips/Jason_Gilmore07122011.php3?page=1

PHP 相关文章推荐
上传文件先创建目录 再上传到目录里面去
Dec 29 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
php实现按天数、星期、月份查询的搜索框
May 02 PHP
Smarty变量用法详解
May 11 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
php socket通信简单实现
Nov 18 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
如何在PHP环境中使用ProtoBuf数据格式
Jun 19 PHP
PHP多个版本的分析解释
Jul 21 #PHP
QQ登录 PHP OAuth示例代码
Jul 20 #PHP
模板引擎正则表达式调试小技巧
Jul 20 #PHP
php中批量替换文件名的实现代码
Jul 20 #PHP
关于php连接mssql:pdo odbc sql server
Jul 20 #PHP
PHP mcrypt可逆加密算法分析
Jul 19 #PHP
PHP中date()日期函数有关参数整理
Jul 19 #PHP
You might like
php实现水仙花数示例分享
2014/04/03 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
js实现转动骰子模型
2019/10/24 Javascript
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
Django中自定义admin Xadmin的实现代码
2019/08/09 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
社区包粽子活动方案
2014/01/21 职场文书
安全标准化汇报材料
2014/02/03 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
优秀共产党员事迹材料
2014/12/18 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
详解TypeScript的基础类型
2022/02/18 Javascript