/ 中存储网

PHP代码性能的分析方法

2013-08-22 09:32:32 来源:itjs.cn

php代码的性能分析。

你可以用xdbug去分析。

但是更好的选择是facebook的性能分析工具xhprof。

它可以图形化。前提是你安装了gd库,你也可能遇到一些小问题。我记得要更新linux的图像库。

安装xhprof扩展:pecl install xhprof .

<?php

/**

 *

 *

 * Beck Confidential

 * Copyright (c) 2013, Beck Corp. <Beck.Bi>.

 * All rights reserved.

 *

 * PHP version 5

 *

 * @category  Aug

 * @package package_name

 * @author beck

 * @date 2013-8-13

 * @license

 * @link

 *

 */

class Xhprof

{

protected $flags = 0;

protected $options = array();

protected $xhprofData = array();

/**

* 配置你的xhprof 你可以在php的官网看着个应用的说明

* @param unknown $config

* @throws ExtensionNotFoundException

*/

public function __construct($config = array())

{

if (!extension_loaded('xhprof')) {

throw new ExtensionNotFoundException(

'Configuration error! Make sure you have xhprof installed correctly.

please refer http://www.php.net/manual/en/xhprof.examples.php for detail.'

);

}

if (!empty($config['flags'])) {

$this->flags = (int)$config['flags'];

}

if (!empty($config['options'])) {

$this->options = $config['options'];

}

}

/**

* 开启调试

*/

public function enable()

{

xhprof_enable($this->flags, $this->options);

}

public function disable()

{

$this->xhprofData =  xhprof_disable();

}

/**

*显示调试结果

* 你可能需要配置一个apache/nginx虚拟主机

*/

public function show()

{

$this->disable();

include_once "xhprof_lib/utils/xhprof_lib.php";

include_once "xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();

$run_id = $xhprof_runs->save_run($this->xhprofData, "xhprof_testing");

echo "<a href='http://pear.kang.com/xhprof_html/index.php?run={$run_id}&source=xhprof_testing' target='_blank'>see xhprof result</a>";

}

}