首页 > 代码库 > 搭建4.xdebug+mysql general_log

搭建4.xdebug+mysql general_log

1.先把tgz的包在本地解压,把里面的tar包传到 centos的/root目录,使用tar -xvf 解压tar包,解压出了xdebug-2.2.4、package.xml,
2。进入xdebug,执行phpize
3.不报错的话 执行./configure --enable-xdebug
4、make && make install

6.vi /etc/php.ini,后面加入
    [Xdebug]
    zend_extension ="/usr/lib/php/modules/xdebug.so"
    xdebug.profiler_enable=on
    xdebug.trace_output_dir="/tmp/xdebug"
    xdebug.profiler_output_dir="/tmp/xdebug"
    xdebug.remote_enable=on
    xdebug.remote_handler=dbgp
7.建立log输出目录 mkdir -p /tmp/xdebug
8.给log输出目录赋权限 chmod 777 /tmp/xdebug
9.重启apache ,service httpd restart
10.访问网站后,在/tmp/xdebug中会有日志
11、使用wincachegrind查看日志。
12、分析日志:overall中 call:调用次数;self 方法自己的时间;cum 方法总时间,包括了调用其他方法的

安装xhprof函数级别的性能分析()
1、1.先把tgz的包在本地解压,把里面的tar包传到 centos的/root目录,使用tar -xvf 解压tar包,解压出了xdebug-2.2.4、package.xml,
2。进入xhprof,再进入cd extension/,执行phpize
3、./configure --with-php-config=/usr/bin/php-config
4、make && make install
5.建立目录 mkdir -p /tmp/xhprof
6.给l目录赋权限 chmod 777 /tmp/xhprof
7.vi /etc/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.output_dir=/tmp/xhprof
8.重启apache ,service httpd restart
9.在php文件打点
// cpu:XHPROF_FLAGS_CPU 内存:XHPROF_FLAGS_MEMORY
// 如果两个一起:XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

// 要测试的php代码
foo();

$data = http://www.mamicode.com/xhprof_disable();   //返回运行数据
 
// xhprof_lib在下载的包里存在这个目录,记得将目录包含到运行的php代码中
include_once "xhprof_lib/utils/xhprof_lib.php";  
include_once "xhprof_lib/utils/xhprof_runs.php";  
 
$objXhprofRun = new XHProfRuns_Default();

// 第一个参数j是xhprof_disable()函数返回的运行信息
// 第二个参数是自定义的命名空间字符串(任意字符串),
// 返回运行ID,用这个ID查看相关的运行结果
$run_id = $objXhprofRun->save_run($data, "xhprof");
var_dump($run_id);
echo "\nhttp://192.168.0.99/xxx/xhprof_html/index.php?run={$run_id}&source=xhprof\n";

10、http://192.168.0.99/xhproftest/xhprof_html/index.php?run=54779d94bfa61&source=xhprof
查看统计报告
  calls 调用次数
  incl.wall time
  excl.wall time自身时间
    cpu毫秒
    memuse字节
    peakmemuse 内存峰值
图表中红色为瓶颈、黄色为路径和耗时。

 

 

MYSQL_general_log

mysql> show global variables like "%general%";
+------------------+----------------------------------+
| Variable_name    | Value                            |
+------------------+----------------------------------+
| general_log      | OFF                              |
| general_log_file | /opt/lampp/var/mysql/centos1.log |
+------------------+----------------------------------+
2 rows in set (0.00 sec)

mysql> set global general_log=ON;
Query OK, 0 rows affected (0.04 sec)

mysql> show global variables like "%general%";
+------------------+----------------------------------+
| Variable_name    | Value                            |
+------------------+----------------------------------+
| general_log      | ON                               |
| general_log_file | /opt/lampp/var/mysql/centos1.log |
+------------------+----------------------------------+
2 rows in set (0.04 sec)

用完了记得关掉

mysql> set global general_log=OFF;
Query OK, 0 rows affected (0.01 sec)

mysql> show global variables like ‘general%‘;
+------------------+----------------------------------+
| Variable_name    | Value                            |
+------------------+----------------------------------+
| general_log      | OFF                              |
| general_log_file | /opt/lampp/var/mysql/centos1.log |
+------------------+----------------------------------+
2 rows in set (0.00 sec)

搭建4.xdebug+mysql general_log