XHProf

[PHP] Swoole整合PHP性能分析

不羁岁月 提交于 2020-08-05 22:54:41
参考文章: Swoole整合PHP性能分析平台: Tideways+Xhgui 根据以上文章,作为修改和补充 本文章是这文章的补充和延伸: [Docker] 用PHP7.4+Swoole+sdebug打开PHP的二次元世界 安装tideways扩展 !!!FBI WARNING!!! git clone https://github.com/tideways/php-xhprof-extension.git cd php-xhprof-extension phpize ./configure --with-php-config=/usr/local/php7/bin/php-config make && make install 编译完成后在php.ini中加入 extension=tideways_xhprof.so 查看是否安装成功 php --ri tideways_xhprof 成功会输出以下内容 安装mongodb扩展 其实非一定要依赖这个扩展的,但下面介绍的laynefyc/php-monitor扩展,会检测mongodb,所以也需要装上这个 wget https://pecl.php.net/get/mongodb-1.7.4.tgz tar -zxvf mongodb-1.7.4.tgz cd mongodb-1.7.4 phpize ./configure

PHP 7.1安装xhprof进行性能分析

送分小仙女□ 提交于 2020-08-04 16:38:31
PHP 7.1安装xhprof进行性能分析 安装扩展 该 xhprof扩展版本是从 https://github.com/longxinH/xhprof 获取的(第三方的一个库,官方版本不支持php7) 下载并编译xhprof扩展 在web的html目录下操作: git clone https://github.com/longxinH/xhprof 编译扩展 cd xhprof/extension/ phpize ./configure make make install 修改php.ini配置 [xhprof] extension=xhprof.so; xhprof.output_dir=/tmp/xhprof 其中 xhprof.output_dir 是 xhprof 的输出目录,每次执行 xhprof 的 save_run 方法时都会生成一个 run_id.project_name.xhprof 文件。这个目录在哪里并不重要。注意此路径的权限要可读写!!否则文件无法生成成功 重启 php-fpm sudo service php7.1-fpm restart 添加测试代码 <?php xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); // 要检查性能的代码 $xhprof_data = xhprof_disable

php性能监测模块XHProf

笑着哭i 提交于 2020-04-28 01:57:52
linux 一,什么是XHProf XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。它独有的数据计算的报告/后处理阶段。在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开死循环。XHProf分析报告有助于理解被执行的代码的结构,它有一个简单的HTML的用户界面( PHP写成的)。基于浏览器的性能分析用户界面能更容易查看,或是与同行们分享成果。也能绘制调用关系图。 二,安装XHProf扩展模块 1,安装 查看复制打印? wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar zxvf xhprof-0.9.2.tgz cp ./xhprof-0.9.2.tgz ./www //xhprof自身带有一个web版的分析页面,放到我的web服务器下面 cd xhprof-0.9.2/extension /usr/local/php/bin/phpize ./configure --enable-xhprof --with-php-config=/usr/local/php

PHP性能检测之xhprof的安装和应用

北慕城南 提交于 2020-04-26 22:07:12
目录 1.前言 2.下载xhprof客户端包 2.1windows下安装扩展 2.2linux下安装扩展 3.开启分析与存储结果 4.查看分析结果 4.1查看测试列表 4.2安装Graphviz插件 4.3点击view full callgraph 链接查看 5.异常与解决 1.前言 在前面的文章( PHP之程序性能优化思路 )中,我们简单的介绍了一款PHP性能分析工具XHPorf,但是没有深入讲解如何安装到wamp环境下,下面我们对其安装和测试详细了解 2.下载xhprof客户端包 2.1windows下安装扩展 PHP性能分析工具XHPorf下载 链接:https://pan.baidu.com/s/1_uYjtUAasxtXOCx6r4o9lA 提取码:a2gb 下载后,将其放到WWW根目录 首先将文件里的下面这两个包放到php的ext文件下 然后在php的php.ini文件中加入这段 可复制代码: [xhprof] extension=php_xhprof.dll ; directory used by default implementation of the iXHProfRuns ; interface (namely, the XHProfRuns_Default class) for storing ; XHProf runs. xhprof.output_dir

php性能分析工具xhprof

廉价感情. 提交于 2020-03-31 02:29:45
安装XHProf: wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar zxf xhprof-0.9.2.tgz cd xhprof-0.9.2 cp -r xhprof_html xhprof_lib <directory_for_htdocs> cd extension phpize ./configure make make install 编辑php.ini: [xhprof] extension=xhprof.so ; ; directory used by default implementation of the iXHProfRuns ; interface (namely, the XHProfRuns_Default class) for storing ; XHProf runs. ; xhprof.output_dir=<directory_for_storing_xhprof_runs> 重启服务让修改生效,现在就可以使用XHProf了,不过为了显示效果更炫,最好继续安装Graphviz。 安装Graphviz: wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz tar zxf graphviz-2

PHP性能监测的工具介绍 - XHProf -参考自https://jingyan.baidu.com/article/7082dc1c173359e40a89bd95.html

Deadly 提交于 2020-03-31 02:12:22
XHProf 这个软件本是Facebook内部的一个应用工具,2009年3月份开源,为PHP的性能监测提供了很好的工具。官方的介绍中提到: 方法/步骤 XHProf 这个软件本是Facebook内部的一个应用工具,2009年3月份开源,为PHP的性能监测提供了很好的工具。官方的介绍中提到: XHProf is a hierarchical profiler for PHP. It reports function-level call counts and inclusive and exclusive metrics such as wall (elapsed) time, CPU time and memory usage. XHProf's light-weight nature and aggregation capabilities make it well suited for collecting "function-level" performance statistics from production environments. 可以先来看看 XHProf 提供的图形界面的截图 XHProf的一些特性: 1、Flat Profile. 提供函数级的汇总信息,比如调用次数、执行时间、内存使用、CPU占用等。 2、Hierarchical Profile。

使用XHProf分析PHP性能瓶颈(一)

拥有回忆 提交于 2020-03-30 21:56:28
安装xhprof扩展 wget http://pecl.php.net/get/xhprof-0.9.4.tgz tar zxf xhprof-0.9.4.tgz cd xhprof-0.9.4/extension/ sudo phpize ./configure sudo make sudo make install cd ../ 配置php.ini [xhprof] extension=xhprof.so xhprof.output_dir=/tmp 注:xhprof已经很久没有更新过了,截至目前还不支持php7,php7可以使用 https://github.com/phacility/xhprof.git。 配置xhprof环境 需要把xhprof压缩包里的两个目录复制到指定目录(假设定义到 /work/xhprof/ ): mkdir /work/xhprof/ cp -a xhprof_html/ /work/xhprof/ cp -a xhprof_lib/ /work/xhprof/ 然后在项目框架的入口文件添加: xhprof_enable(XHPROF_FLAGS_MEMORY | XHPROF_FLAGS_CPU); register_shutdown_function(function() { $xhprof_data = xhprof_disable();

分层PHP性能分析工具--xhprof

纵然是瞬间 提交于 2020-03-30 21:20:39
xhprof的安装是很简单,记录下其在php函数中的使用代码别让自己给忘记了: public static function startXhprof() { if (function_exists('xhprof_enable')) { xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); } } public static function showXhprof() { if (function_exists('xhprof_enable') && function_exists('xhprof_disable')) { self::$_xhprofData = xhprof_disable(); include_once "/data/cap/xhprof/xhprof_lib/utils/xhprof_lib.php"; //加载xhprof包 include_once "/data/cap/xhprof/xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run(self::$_xhprofData, "xhprof_info"); echo '<br/>

mac 下 配置 xhprof

点点圈 提交于 2020-03-30 20:48:35
1: 下载 安装 xhprof wget http://pecl.php.net/get/xhprof-0.9.3.tgz tar zxf xhprof-0.9.3.tgz cd xhprof-0.9.3 cd extension phpize (执行 此代码时报错, Cannot find autoconf. Please check your autoconf installation 解决方法见 5 ) which php-config(#找到 php-config 这个文件的路径) ./configure --with-php-config=/usr/bin/php-config #此处的地址就是上面你记录下来php-config的地址 make make install 提示: Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20121212/ 2:配置php.ini php.ini文件 :您可以更新您的php.ini文件来自动加载您的扩展。将以下内容添加到你的php.ini文件。 [xhprof] extension="no-debug-non-zts-20121212/xhprof.so"(#php.ini中extension_dir 已经存在了,所以直接写相对路径了) ;

php 性能优化

守給你的承諾、 提交于 2020-03-11 17:36:53
语言级性能优化 1、多使用php内置变量、常量、函数: PHP代码通过zend引擎逐行扫描,成为zend引擎能理解的语法,转码解析成Opcodes,执行之后输出 如果多使用内置函数的话,在扫描和理解上时间就会快很多,Opcodes也会少一些,执行起来就会快 2、php内置函数之间存在性能优劣:多去理解内置函数时间复杂度,如isset和array_key_exists性能差异 3、尽量少用魔法函数: 4、尽量不用错误抑制符@: 5、合理使用内存:php有内存回收机制,但也尽量使用unset及时释放不用的内存 6、尽量少用正则表达式:正则表达式的回溯开销较大,尽量用字符串处理函数实现相同逻辑 7、避免在循环内用计算式:如while($i<strlen($str)){} 8、减少计算密集型业务: 9、务必使用带引号字符串做键值: 性能优化 常见的php场景开销次序:读写内存<<读写数据库(读写硬盘)<读写磁盘<读写网络数据(隐形开销:网络延迟) 1、优化网络请求:设置超时时间;串行-》并行 2、压缩php接口输出:gzip 3、 xhprof工具 4、扩展实现:通过php扩展代替原php代码中高频逻辑,如共享内存缓存只读文件; 来源: oschina 链接: https://my.oschina.net/u/347414/blog/3191857