zoukankan      html  css  js  c++  java
  • XhProf安装教程–详细教程

    • wget
      去这里找最新的包下载,我现在最新的是xhprof-0.9.4.tgz
      cd /tmp
      mkdir xhprof && cd xhprof
      wget http://pecl.php.net/get/xhprof-0.9.4.tgz
      tar -xvf xhprof-0.9.4.tgz
      cd xhprof-0.9.4/extension/
      phpize
      

      我在进行这步的时候,提示我没有安装phpize,下一步就是安装phpize,如果已经安装了phpize,可以跳过下一步

    • phpize
      因为phpize在php-devel包里面,所以先需要安装php-devel
      yum search php-devel
      

      如果你和我一样,找不到这个包的话,建议添加电子科技大学的源

      cd /tmp
      wget http://mirrors.stuhome.net/files/centos_repo/6/CentOS-Base.repo
      cp CentOS-Base.repo /etc/yum.repos.d/CentOS-Base-Uestc.repo -v
      yum makecache
      yum install php-devel -y
      

      装好了phpize就可以进行安装了

      phpize
      
    • 接下来是源码安装三部曲:
      whereis php-config
      /*看看你的php-config在什么路径,然后放到后面的path-to php-config,一般是/usr/bin/php-config */
      ./configure --with-php-config=<path to php-config >
      make
      make install
      mkdir -p /var/tmp/xhprof
      
    • 编译添加了xhprof.so文件,现在需要配置php启用这个so文件,去/etc/php.d/文件夹下面添加文件xhprof.ini
      extension=xhprof.so
      xhprof.outout_dir=/var/tmp/xhprof
      /*请确定上面配置的/var/tmp/xhprof目录是存在的*/
      

      然后就是重新启动你的php,之后用命令查看

      php -ini | grep xhprof -i
      

      看看是否已经安装上了,安装好了之后,就可以开始设置监控了

    • 将文件拷贝到网站目录里面,然后添加监控代码到统计文件中
      mkdir -p /var/www/xhprof && cd /var/www/xhprof/
      cp -r /tmp/xhprof/xhprof-0.9.4/xhprof_html/ ./
      cp -r /tmp/xhprof/xhprof-0.9.4/examples/ ./
      cp -r /tmp/xhprof/xhprof-0.9.4/xhprof_lib/ ./
      mkdir logs
      

      配置nginx的虚拟主机目录,在/etc/nginx/conf.d/目录下面新建xhprof.conf
      然后修改文件内容为:

      server{
        listen 80;
        server_name effect.vpsbuy.info;
        root /var/www/xhprof;
        access_log /var/www/xhprof/logs/access.log;
        error_log /var/www/xhprof/logs/error.log;
        index index.php;
      
        location = favicon.ico {
            log_not_found off;
            access_log off;
        }    
      
        location = /robots.txt{
            allow all;
            log_not_found off;
            access_log off;
        }
        location / {
            root /var/www/xhprof;
        }
        location ~ .php$ {
            include fastcgi_params;
            fastcgi_pass php;
            fastcgi_index xhprof_html/index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
      }
      

      重新启动nginx

      nginx -t
      nginx -s reload
      

      修改examples目录下面的sample.php文件,将最后一行的echo改成这样

      echo "---------------
      ".
         "Assuming you have set up the http based UI for 
      ".
         "XHProf at some address, you can view run at 
      ".
         "http://effect.vpsbuy.info/xhprof_html/index.php?run=$run_id&source=xhprof_foo
      ".
         "---------------
      ";
      

      将这个http://effect.vpsbuy.info/xhprof_html/改成你自己的url路径。
      然后就是配置监控

      $xhprof_enable = false;
      if(mt_rand(1,10)==1){ //这里设置监控的比例
        xhprof_enable();
        $xhprof_enable = true;
      }
      //这里写上你要监控的函数
      if($xhprof_enable ){
        $xhprof_data = xhprof_disable();
        //$XHPROF_ROOT = realpath(dirname(__FILE__) .'/..');           
        $XHPROF_ROOT = /var/www/xhprof;
        include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
        include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
        // save raw data for this profiler run using default        
        // implementation of iXHProfRuns.
        $xhprof_runs = new XHProfRuns_Default();
        // save the run under a namespace "xhprof_foo" 
        $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
      }
      

      现在就可以统计了,然后就是安装生成访问图像的

      yum install graphviz

      如果你觉得写得不错,请捐赠作者:

      作者:

  • 相关阅读:
    redis五类型及原理|redis主从及问题|Uninstall Redis CentOs 7
    netty4与netty5序列化问题记录
    [转载]【深入Java虚拟机】之四:类加载机制
    序列化原理机制新谈
    [Eclipse使用技巧] Eclipse使用External Tools定位java 源文件目录路径
    学习vue的一些资源
    中国国内可用API合集
    适合初学者学习的的vue+webpack的小项目
    前端性能优化----yahoo前端性能团队总结的35条黄金定律
    Angular2优质学习资源收集
  • 原文地址:https://www.cnblogs.com/imhurley/p/3402678.html
Copyright © 2011-2022 走看看