目次
php性能分析工具,php性能分析
一、前言
二、安装
三、php.ini配置
四、重启服务
五、使用方法
六、注意问题以及名词解释
七、参考资料
ホームページ php教程 php手册 php性能分析工具,php性能分析

php性能分析工具,php性能分析

Jun 13, 2016 am 08:55 AM
パフォーマンス分析

php性能分析工具,php性能分析

一、前言

  有用的东西还是记录下来吧,也方便以后的查询;这次记录一下xhprof的安装使用;

  xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,

  还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。

二、安装

<span>1.    wget http:<span>//</span><span>pecl.php.net/get/xhprof-0.9.3.tgz  </span>

2.    tar zxf xhprof-0.9.3.<span>tgz  

</span>3.    cd xhprof-0.9.3/<span>extension

</span>4.    /usr/bin/<span>phpize 
     (php版本安装后生成的phpize文件,可根据phpinfo查看,所以php版本不同,生成的phpize也不同,此步骤主要生成configure文件)

</span>5.    ./configure  &ndash;with-php-config=/usr/bin/php-<span>config  
    (php</span>-<span>config的路径,也是php安装后生成的文件)  

</span>6.<span>    make  

</span>7.<span>    sudo make install 
    (会自动将生成的扩展文件拷贝到扩展目录中</span>/usr/lib64/php/<span>modules)

    当然具体的php文件的目录,每个人不尽相同,可根据phpinfo查询</span></span>
ログイン後にコピー

三、php.ini配置

<span><span>1</span> <span>根据phpinfo找到 extension_dir的目录
</span><span>2</span> (/etc/php.d/xhprof.<span>ini)
</span><span>3</span> 
<span>4</span> <span>添加一下内容:
</span><span>5</span> 
<span>6</span> extension=xhprof.<span>so
</span><span>7</span> xhprof.output_dir=/tmp/xhprof <span>//</span><span>xhprof的分析日志</span></span>
ログイン後にコピー

四、重启服务

<span><span>1</span> sudo /etc/init.d/<span>http restart
</span><span>2</span> 
<span>3</span> 查看phpinfo是否安装成功</span>
ログイン後にコピー

五、使用方法

<span><span> 1</span> <span>开头:
</span><span> 2</span> xhprof_enable(); <span>//</span><span>开启监测  
</span><span> 3</span> <span>//xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不记录内置的函数  
</span><span> 4</span> <span>//xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);  同时分析CPU和Mem的开销  
</span><span> 5</span> 
<span> 6</span> <span>//要测试的代码</span>
<span> 7</span> ...
<span> 8</span> ...
<span> 9</span> ...
<span>10</span> 
<span>11</span> <span>结尾:
</span><span>12</span> <span>$xhprof_data</span> = xhprof_disable();  <span>//</span><span>停止监测,返回运行数据</span>
<span>13</span> <span>$xhprof_root</span> = '/(xhprof的虚拟主机目录)/'<span>;  
</span><span>14</span>  <span>//</span><span>引入当初安装到xhprof虚拟主机目录中的文件</span>
<span>15</span> <span>include_once</span> <span>$xhprof_root</span>."xhprof_lib/utils/xhprof_lib.php"<span>;  
</span><span>16</span> <span>include_once</span> <span>$xhprof_root</span>."xhprof_lib/utils/xhprof_runs.php"<span>;   
</span><span>17</span> <span>$xhprof_runs</span> = <span>new</span><span> XHProfRuns_Default();   
</span><span>18</span> <span>$run_id</span> = <span>$xhprof_runs</span>->save_run(<span>$xhprof_data</span>, "xhprof"<span>);
</span><span>19</span> <span>echo</span> '<a href="http://(xhprof的虚拟主机域名)/xhprof_html/index.php?run='.<span>$run_id</span>.'&source=xhprof" target="_blank">xhprof统计</a>'<span>;  </span></span>
ログイン後にコピー

  上边的代码使用了,给xhprof设置虚拟主机的方法。

  把源码包中的 xhprof_html 和 xhprof_lib 文件夹拷贝到自己建立的虚拟目录中

  cp -r xhprof_html xhprof_lib /xxx/xhprof/ (此处目的是建立数据分析目录,可将此目录配置成虚拟主机访问)

  运行后,统计点击返回的 xhprof统计 链接,即可。

六、注意问题以及名词解释

  在显示的统计页面中,点[View Full Callgraph]图形化显示(最大的性能问题会用红色标出,其次是黄色);

  点击后,可能提示错误消息,执行以下命令即可

<span><span>1</span> yum install -<span>y graphviz
</span><span>2</span> yum install graphviz-gd</span>
ログイン後にコピー

  名词解释

<span><span> 1</span>     <span>Function</span><span> Name 函数名
</span><span> 2</span> <span>    Calls 调用次数
</span><span> 3</span>     Calls%<span> 调用百分比
</span><span> 4</span>     Incl. Wall <span>Time</span><span> (microsec) 调用的包括子函数所有花费时间 以微秒算(一百万分之一秒)
</span><span> 5</span>     IWall%<span> 调用的包括子函数所有花费时间的百分比
</span><span> 6</span>     Excl. Wall <span>Time</span> (microsec) 函数执行本身花费的时间,不包括子树执行时间,<span>以微秒算(一百万分之一秒)
</span><span> 7</span>     EWall%<span> 函数执行本身花费的时间的百分比,不包括子树执行时间
</span><span> 8</span>     Incl. CPU(microsecs) 调用的包括子函数所有花费的cpu时间。减Incl.<span> Wall Time即为等待cpu的时间
</span><span> 9</span>     减Excl.<span> Wall Time即为等待cpu的时间
</span><span>10</span>     ICpu% Incl.<span> CPU(microsecs)的百分比
</span><span>11</span>     Excl. CPU(microsec) 函数执行本身花费的cpu时间,不包括子树执行时间,<span>以微秒算(一百万分之一秒)。
</span><span>12</span>     ECPU% Excl.<span> CPU(microsec)的百分比
</span><span>13</span>     Incl.<span>MemUse(bytes) 包括子函数执行使用的内存。
</span><span>14</span>     IMemUse% Incl.<span>MemUse(bytes)的百分比
</span><span>15</span>     Excl.MemUse(bytes) 函数执行本身内存,<span>以字节算
</span><span>16</span>     EMemUse% Excl.<span>MemUse(bytes)的百分比
</span><span>17</span>     Incl.PeakMemUse(bytes) Incl.<span>MemUse的峰值
</span><span>18</span>     IPeakMemUse% Incl.<span>PeakMemUse(bytes) 的峰值百分比
</span><span>19</span>     Excl.PeakMemUse(bytes) Excl.<span>MemUse的峰值
</span><span>20</span>     EPeakMemUse% EMemUse% 峰值百分比</span>
ログイン後にコピー

七、参考资料

<span>1</span> <span> http://blog.csdn.net/maitiandaozi/article/details/8896293
</span><span>2</span> <span> http://www.cnblogs.com/wangtao_20/archive/2011/03/16/1986508.html
</span><span>3</span> <span> http://www.cnblogs.com/wangtao_20/archive/2013/09/13/3320497.html
</span><span>4</span>  
<span>5</span> <span> http://avnpc.com/pages/profiler-php-performance-online-by-xhprof
</span><span>6</span> <span> http://www.ituring.com.cn/article/132392
</span><span>7</span>  http://www.ituring.com.cn/article/133062?utm_source=tuicool
ログイン後にコピー

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Kirin 8000 および Snapdragon プロセッサのパフォーマンス分析: 長所と短所の詳細な比較 Kirin 8000 および Snapdragon プロセッサのパフォーマンス分析: 長所と短所の詳細な比較 Mar 24, 2024 pm 06:09 PM

Kirin 8000 と Snapdragon プロセッサの性能分析: 長所と短所の詳細な比較 スマートフォンの普及とその高機能化に伴い、携帯電話の中核コンポーネントであるプロセッサにも大きな注目が集まっています。現在市場で最も一般的で優れたプロセッサー ブランドの 1 つは、Huawei 社の Kirin シリーズと Qualcomm の Snapdragon シリーズです。この記事では、Kirin 8000 プロセッサと Snapdragon プロセッサのパフォーマンス分析に焦点を当て、さまざまな側面における 2 つのプロセッサの長所と短所の比較を検討します。まず、Kirin 8000 プロセッサーを見てみましょう。ファーウェイの最新フラッグシッププロセッサー、Kirin 8000

強力なデバッグとパフォーマンス分析のために PHP 拡張機能 XDebug を使用する方法 強力なデバッグとパフォーマンス分析のために PHP 拡張機能 XDebug を使用する方法 Jul 28, 2023 pm 07:45 PM

PHP 拡張機能 Xdebug を使用して強力なデバッグとパフォーマンス分析を行う方法 はじめに: PHP アプリケーションの開発プロセスにおいて、デバッグとパフォーマンス分析は不可欠なリンクです。 Xdebug は、PHP 開発者がよく使用する強力なデバッグ ツールで、ブレークポイント デバッグ、変数追跡、パフォーマンス分析などの一連の高度な機能を提供します。この記事では、Xdebug を使用して強力なデバッグとパフォーマンス分析を行う方法と、いくつかの実用的なヒントと注意事項を紹介します。 1. Xdebug をインストールし、Xdebu の使用を開始します。

パフォーマンスの比較: Go 言語と C 言語の速度と効率 パフォーマンスの比較: Go 言語と C 言語の速度と効率 Mar 10, 2024 pm 02:30 PM

パフォーマンスの比較: Go 言語と C 言語の速度と効率 コンピューター プログラミングの分野では、パフォーマンスは開発者が常に注意を払う重要な指標です。プログラミング言語を選択するとき、開発者は通常、その速度と効率に重点を置きます。 Go 言語と C 言語は、2 つの人気のあるプログラミング言語として、システムレベルのプログラミングや高性能アプリケーションに広く使用されています。この記事では、速度と効率の観点から Go 言語と C 言語のパフォーマンスを比較し、具体的なコード例を通じてそれらの違いを示します。まずはGo言語とC言語の概要を見ていきましょう。 Go言語はGによって開発されました

Java Queueキューのパフォーマンスの分析と最適化戦略 Java Queueキューのパフォーマンスの分析と最適化戦略 Jan 09, 2024 pm 05:02 PM

JavaQueue のパフォーマンス分析と最適化戦略 キューの概要: キュー (キュー) は Java で一般的に使用されるデータ構造の 1 つであり、さまざまなシナリオで広く使用されています。この記事では、JavaQueue キューのパフォーマンスの問題について、パフォーマンス分析と最適化戦略の 2 つの側面から説明し、具体的なコード例を示します。はじめに キューは、プロデューサー/コンシューマー モード、スレッド プール タスク キュー、およびその他のシナリオの実装に使用できる先入れ先出し (FIFO) データ構造です。 Java は、Arr などのさまざまなキュー実装を提供します。

C++ コードのパフォーマンス分析を実行するにはどうすればよいですか? C++ コードのパフォーマンス分析を実行するにはどうすればよいですか? Nov 02, 2023 pm 02:36 PM

C++ コードのパフォーマンス分析を実行するにはどうすればよいですか? C++ プログラムを開発する場合、パフォーマンスは重要な考慮事項です。コードのパフォーマンスを最適化すると、プログラムの速度と効率が向上します。ただし、コードを最適化するには、まずパフォーマンスのボトルネックがどこにあるのかを理解する必要があります。パフォーマンスのボトルネックを見つけるには、まずコードのパフォーマンス分析を実行する必要があります。この記事では、開発者がコード内のパフォーマンスのボトルネックを見つけて最適化するのに役立つ、一般的に使用される C++ コードのパフォーマンス分析ツールとテクニックをいくつか紹介します。プロファイリング ツール プロファイリング ツールを使用する

Laravel 開発: パフォーマンス分析とモニタリングに Laravel Telescope を使用する方法は? Laravel 開発: パフォーマンス分析とモニタリングに Laravel Telescope を使用する方法は? Jun 13, 2023 pm 05:14 PM

Laravel 開発: LaravelTelescope をパフォーマンス分析とモニタリングに使用する方法? Laravel は、そのシンプルさ、使いやすさ、柔軟性により開発者に愛されている優れた PHP フレームワークです。 Laravel アプリケーションのパフォーマンスをより適切に監視および分析するために、Laravel チームは Telescope と呼ばれる強力なツールを開発しました。この記事では、Telescopeの基本的な使い方と機能を紹介します。望遠鏡を設置する

C++ 開発のアドバイス: C++ コードのパフォーマンス分析を実行する方法 C++ 開発のアドバイス: C++ コードのパフォーマンス分析を実行する方法 Nov 22, 2023 pm 08:25 PM

C++ 開発者として、パフォーマンスの最適化は避けられないタスクの 1 つです。コードの実行効率と応答速度を向上させるには、コードのデバッグと最適化をより適切に行うために、C++ コードのパフォーマンス分析方法を理解する必要があります。この記事では、一般的に使用される C++ コードのパフォーマンス分析ツールとテクニックをいくつか紹介します。コンパイル オプション C++ コンパイラには、コードの実行効率を最適化するために使用できるいくつかのコンパイル オプションが用意されています。その中で、最も一般的に使用されるオプションは -O で、これはコンパイラーにコードを最適化するように指示します。通常は、

パフォーマンス分析ツールを使用して Java 関数を分析および最適化するにはどうすればよいですか? パフォーマンス分析ツールを使用して Java 関数を分析および最適化するにはどうすればよいですか? Apr 29, 2024 pm 03:15 PM

Java パフォーマンス分析ツールを使用して、Java 関数のパフォーマンスを分析および最適化できます。パフォーマンス分析ツールを選択します: JVisualVM、VisualVM、JavaFlightRecorder (JFR) など。パフォーマンス分析ツールを構成します。サンプリング レートを設定し、イベントを有効にします。関数を実行してデータを収集する: プロファイリング ツールを有効にした後、関数を実行します。パフォーマンス データを分析する: CPU 使用率、メモリ使用率、実行時間、ホット スポットなどのボトルネック指標を特定します。関数の最適化: 最適化アルゴリズムを使用し、コードをリファクタリングし、キャッシュやその他のテクノロジーを使用して効率を向上します。

See all articles