优化php性能的一点总结


图示为100个并发,请求1000次目标地址

进行测试

最重要的两个参数:Requests per second :每秒接受请求数,这里每秒接收101个请求
Time per request:一个请求用多少耗时,这里是9毫秒
第一个参数越大越好,第二个参数越小越好
优化方法之语言级性能优化1

PHP代码执行流程:

PHP代码通过zend引擎逐行扫描,成为zend引擎能理解的语法,转码解析成Opcodes,执行之后输出
如果多使用内置函数的话,在扫描和理解上时间就会快很多,Opcodes也会少一些,执行起来就会快
优化方法之语言级性能优化2

优化方法之语言级性能优化3

测试

time php 文件名 可以得出执行耗时,关注user值,即24毫秒
优化方法之语言级性能优化4

优化方法之语言级性能优化5

优化方法之语言级性能优化6

优化方法之语言级性能优化7

改成这样比较好

优化方法之语言级性能优化8

优化方法之语言级性能优化9

优化方法之周边问题性能优化

优化方法之周边问题性能优化1

常见的php场景开销次序:读写内存<<读写数据库(读写硬盘)<读写磁盘<读写网络数据(隐形开销:网络延迟)
优化方法之周边问题性能优化2

优化方法之周边问题性能优化3

优化方法之周边问题性能优化4

优化方法之周边问题性能优化5

并行改串行
优化方法之周边问题性能优化6

xhprof工具分析PHP性能

这个命令可以检查软件是否安装
xhprof工具的安装与使用:http://www.cnblogs.com/bluefrog/archive/2012/03/01/2374922.html
使用图示:


PHP性能瓶颈究极办法

优化php性能的一点总结的更多相关文章
- 优化TableView性能
优化tableView性能(针对滑动时出现卡的现象) (2013-08-02 11:18:15) 转载▼ 标签: ios tableview it 分类: 技术文档 在iOS应用中,UITableVi ...
- [转]优化Flash性能
原文:http://www.adobe.com/devnet/flash/articles/optimizing-flash-performance.html 翻译:http://bbs.9ria.c ...
- 优化tableView性能(针对滑动时出现卡的现象)
优化tableView性能(针对滑动时出现卡的现象) 在iOS应用中,UITableView应该是使用率最高的视图之一了.iPod.时钟.日历.备忘录.Mail.天气.照片.电话.短信. Safari ...
- 使用 Chrome Timeline 来优化页面性能
使用 Chrome Timeline 来优化页面性能 有时候,我们就是会不由自主地写出一些低效的代码,严重影响页面运行的效率.或者我们接手的项目中,前人写出来的代码千奇百怪,比如为了一个 Canvas ...
- Oracle 优化和性能调整
分析评价Oracle数据库性能主要有数据库吞吐量.数据库用户响应时间两项指标.数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即: 数据库用户响应时间=系统服务时间+用户等待时间 因此 ...
- 优化程序性能(CSAPP)
[前言]虽然现在没有接触过大型项目,但是工作了会注重性能.学习一下,应该能更好更快的理解别人写的经典优化的代码.结合CSAPP和自己的理解,总结一下. 一.程序优化综述 1.高效程序的特点 (1)适当 ...
- 使用 content-visibility 优化渲染性能
最近在业务中实际使用 content-visibility 进了一些渲染性能的优化. 这是一个比较新且有强大功能的属性.本文将带领大家深入理解一番. 何为 content-visibility? co ...
- REORG TABLE命令优化数据库性能
[转]DB2日常维护——REORG TABLE命令优化数据库性能 一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作,以便更好的监控和维护数据库,保证数据库的正常.安全.高效运行,防止 ...
- DB2日常维护——REORG TABLE命令优化数据库性能
一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作,以便更好的监控和维护数据库,保证数据库的正常.安全.高效运行,防止一些错误重复发生. 由于DB2使用CBO作为数据库的优化器,数据库对象的状 ...
随机推荐
- SQLDataSet中执行DDL语句
在SQLDataSet中执行我们输入的DDL语句,并观察执行结果. 这里为了省输入的时间,从先输好的记事本中复制的SQL语句.效果图: ******************************** ...
- Apache Struts2存在S2-045
麻蛋的,批了老半天都找不到,还得谷歌 不扯蛋了,直接主题: Struts2 2.3.32 版本 下载地址:https://dist.apache.org/repos/dist/release/stru ...
- 使用curl操作InfluxDB
这里列举几个简单的示例代码,更多信息请参考InfluxDB官方文档: https://docs.influxdata.com/influxdb/v1.1/ 环境: CentOS6.5_x64Influ ...
- JAVA基础:求一个数组的中心元素
- Linked List Cycle && Linked List Cycle II
Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note ...
- KoaHub平台基于Node.js开发的Koa的连接MongoDB插件代码详情
koa-mongo MongoDB middleware for koa, support connection pool. koa-mongo koa-mongo is a mongodb midd ...
- TimeUnit枚举类
TimeUnit是 java.util.concurrent 中的一个枚举类.一般让线程进行睡眠时使用: TimeUnit.MILLISECONDS.sleep(100); 比如上面一行代码表示让当 ...
- SVN操作手册(part1&part2)——SVN安装
SVN操作手册 1.关于SVN 有一个简单但不十分精确比喻: SVN = 版本控制 + 备份服务器 简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容. ...
- IPhone 、Webkit手机浏览器Div滚动、滑动卡,遮罩层被穿透的解决办法
在滚动条的层上面加上-webkit-overflow-scrolling:touch;样式即可解决!
- 内网转发ngrok的使用
1.下载解压ngrok:https://ngrok.com/download 2.执行ngrok会打开控制台 3.输入命令,开始映射本地的8080端口 ngork http 8080 控制台会返回一个 ...