PHP性能优化 -实战篇
借助xhprof 工具分析PHP性能
XHPorf(源自Fackbook 的PHP性能分析工具)
实战
通过分析Wordpress程序,做优化!
优化
找到需要优化的函数
grep 'import_from_reader' ./ -r
PHP性能分析工具扩展
ab - 压力测试
vld - opcode代码分析
PHP性能瓶颈究极办法
Opcode Cache:PHP扩展APC pecl.php.net -> 搜索 APC (2012以后不再维护了)
yac (也不错)
扩展实现:通过PHP扩展代替原PHP代码中高频逻辑
Runtime优化:HHVM
附:
php7环境
xhprof 并用于tp5框架
git clone https://github.com/longxinH/xhprof
cd xhprof/extension/
phpize
./configure
make
make install
然后在/etc/php.ini中根据情况加入
extension=xhprof.so
重启
phpinfo() | php -m | grep xhprof 查看 是否安装成功
//查看性能 图 需要安装
yum install graphviz
把xhprof_lib目录下的utils/xhprof_lib.php内容全部添加到你的项目的common.php文件里
把utils/xhprof_runs.php文件copy到你的项目文件的Lib/ORG/下
(utils/xhprof_runs.php 放入extends 通过 Loader::import('Shprof.xhprof_runs',EXTEND_PATH,'.php'); 调用)
具体调用
xhprof_enable();
$xhprof_on = true;
////
//此处为你的程序
///
if($xhprof_on){
$xhprof_data = xhprof_disable();
import("Lottery.ORG.XHProfRuns_Default");
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "eagle");//(eagle为命名空间,你可以随意取)
echo ''<a href="http://web.caoqi.com/xhprof/xhprof_html/index.php?run=''.$run_id.''&source=eagle" target="_blank">统计</a>'';
PHP性能优化 -实战篇的更多相关文章
- 网站性能优化实战——从12.67s到1.06s的故事
文章摘自https://juejin.im/post/5b0b7d74518825158e173a0c 作为互联网项目,最重要的便是用户体验.在举国“互联网+”的热潮中,用户至上也已经被大多数企业所接 ...
- 小程序Canvas性能优化实战
以下内容转载自totoro的文章<小程序Canvas性能优化实战!> 作者:totoro 链接:https://blog.totoroxiao.com/canvas-perf-mini/ ...
- Golang 性能优化实战
小结: 1. 性能查看工具 pprof,trace 及压测工具 wrk 或其他压测工具的使用要比较了解. 代码逻辑层面的走读非常重要,要尽量避免无效逻辑. 对于 golang 自身库存在缺陷的,可以寻 ...
- 我把阿里、腾讯、字节跳动、美团等Android性能优化实战整合成了一个PDF文档
安卓开发大军浩浩荡荡,经过近十年的发展,Android技术优化日异月新,如今Android 11.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS. 但是,到了各大厂商手 ...
- 《Linux 性能优化实战—倪朋飞 》学习笔记 CPU 篇
平均负载 指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,即平均活跃进程数 可运行状态:正在使用CPU或者正在等待CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态 (Run ...
- Linux性能优化实战CPU篇之总结(四)
一.分析CPU瓶颈 1,性能指标 a>CPU使用率 CPU使用率描述了非空闲时间占总CPU时间的百分比,根据CPU上运行任务的不同可以分为:用户CPU.系统CPU.等待I/O CPU.软中断和硬 ...
- Linux性能优化实战学习笔记:第四十五讲
一.上节回顾 专栏更新至今,四大基础模块的最后一个模块——网络篇,我们就已经学完了.很开心你还没有掉队,仍然在积极学习思考和实践操作,热情地留言和互动.还有不少同学分享了在实际生产环境中,碰到各种性能 ...
- Linux性能优化实战学习笔记:第四十六讲
一.上节回顾 不知不觉,我们已经学完了整个专栏的四大基础模块,即 CPU.内存.文件系统和磁盘 I/O.以及网络的性能分析和优化.相信你已经掌握了这些基础模块的基本分析.定位思路,并熟悉了相关的优化方 ...
- Android UI性能优化实战, 识别View中的性能问题
出自:[张鸿洋的博客]来源:http://blog.csdn.net/lmj623565791/article/details/45556391 1.概述 2015年初google发布了Android ...
随机推荐
- 怎样卸载wineQQ?
好久没实用ubuntu系统的wineqq了.今天用的时候,提示无法使用,要求官网又一次下载新版本号, 感觉挺麻烦的,准备卸载,半天卸载不了. 经过努力,终于还是卸载了. 卸载命令: sudo dpk ...
- throws、throw和try catch
在学习代理模式的时候,编写动态生成代理类.java文件时,用try{}catch(){}捕获异常发现catch(Exception e)报错,得换成catch(Throwable e),然后又查了查两 ...
- 【leetcode】867 - Transpose Matrix
[题干描述] Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped ...
- c#采用emit将DataTable转List
前面已经说了List转DataTable,也整理了代码. 现在转回来说说DataTable转List. 先举一个例子 public class Person { public int Age{get; ...
- js基础(闭包实例)
1,常用发送短信的闭包实现: function sms() { var count = 60; return { start: function() { if(count == 0) { count ...
- linux学习笔记一:远程连接linux服务器
环境介绍:win7电脑,通过VM虚拟出linux系统,安装centOS7 通过Xshell连接linux,ftp访问服务器资源. 遇到的问题,ftp连不上linux 解决:linux上安装ftp服务 ...
- pycharm使用杂记
R语言解释器在/opt/local/Library/Frameworks/R.framework/Versions/3.5/Resources/bin/R
- MongoDB基础教程
MongoDB 一.下载MongoDB数据库 1.进入MongoDB官网进行下载,网址:https://www.mongodb.com/. 2.下载完成后可进行安装,安装后,并有了MongoDB服务. ...
- php网易云信im即时通讯和聊天室
话不多说 直接上代码 <?php/** * Created by PhpStorm. * User: lhl * Date: 2019/4/10 * Time: 17:38 */ namespa ...
- Business Unit Helper
using System; using System.Linq; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Sy ...