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 相关文章推荐
利用php+mysql来做一个功能强大的在线计算器
Oct 12 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
mac环境中使用brew安装php5.5.15
Aug 18 PHP
重新认识php array_merge函数
Aug 31 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
php面试中关于面向对象的相关问题
Feb 13 PHP
laravel框架的安装与路由实例分析
Oct 11 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
一个程序下载的管理程序(一)
2006/10/09 PHP
PHP实现的增强性mhash函数
2015/05/27 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
JavaScript的变量作用域深入理解
2009/10/25 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
用Python编写一个基于终端的实现翻译的脚本
2015/04/24 Python
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
python 换位密码算法的实例详解
2017/07/19 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
基于python实现查询ip地址来源
2020/06/02 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
HTML5 weui使用笔记
2019/11/21 HTML / CSS
师范生个人推荐信
2013/11/29 职场文书
一年级家长会邀请函
2014/01/25 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
采购类个人求职的自我评价
2014/02/18 职场文书
学校督导评估方案
2014/06/10 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
个人存款证明书
2014/10/18 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
利用Pycharm连接服务器的全过程记录
2021/07/01 Python