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 相关文章推荐
一个很方便的 XML 类!!原创的噢
Oct 09 PHP
php PDO中文乱码解决办法
Jul 20 PHP
php通过session防url攻击方法
Dec 10 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
Mar 22 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
PHP利用curl发送HTTP请求的实例代码
Jul 09 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
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
PHP引用返回用法示例
2016/05/28 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
javascript中的float运算精度实例分析
2010/08/21 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python正则表达式介绍
2012/08/06 Python
Python常用知识点汇总
2016/05/08 Python
Python实现句子翻译功能
2017/11/14 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
django静态文件加载的方法
2018/05/20 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
Java面向对象面试题
2016/12/26 面试题
个人自我评价范文
2014/02/05 职场文书
环境建设实施方案
2014/03/14 职场文书
2015大学生实训报告
2014/11/05 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
浅谈MySQL中的六种日志
2022/03/23 MySQL