PHP性能解析基盤構築

步履不停
步履不停オリジナル
2019-07-01 15:44:374050ブラウズ

PHP性能解析基盤構築

PHP パフォーマンス分析プラットフォームの構築 (tideways xhgui nginx php7)

はじめに

プログラム コードを変更せずに PHP パフォーマンス分析プラットフォームを構築します。nginx を使用します。プログラム上に監視レイヤーを追加し (固定ログを生成するため)、ログのプログラム情報を分析し、パフォーマンス分析と最適化を実行します

#1. mongodb

をインストールします。ここでは 1000 語を省略して、ドキュメントを自分で見つけてください

2. mongodb 拡張機能をインストールします
    wget http://pecl.php.net/get/mongodb-1.4.0.tgz
    tar -zxvf mongodb-1.4.0.tgz
    cd mongodb-1.4.0
    phpize
    ./configure --with-php-config=你的php-config路径 我的是在/usr/local/Cellar/php@7.1/7.1.16_1/bin/php-config
    make
    make install

3. tideways 拡張機能をインストールします

    git clone https://github.com/tideways/php-profiler-extension.git
    cd php-profiler-extension
    phpize
    ./configure --with-php-config=你的php-config路径
    make 
    make install

4. 設定ファイルを変更します

    extension=tideways.so
    tideways.auto_prepend_library=0
    extension=mongodb.so

5. xhgui プロジェクトをダウンロードします

    #https://github.com/perftools/xhgui  (汉化)
    git clone https://github.com/perftools/xhgui.git
    cd xhgui
    php install.php(看下是否有vendor这个目录)
    ##项目配置
    #配置文件:config/default_config.php
    #运行目录:webroot
    #nginx rewrite规则
    #   location / {  
    #       try_files $uri $uri/ /index.php$is_args$query_string;  
    #   }

6. 設定ファイルを変更します

#xhgui 默认是采集1% ,如果是排查问题时还是希望能够100%采集会比较方便。进入xhgui源码目录,修改config/config.default.php文件,
#平时仍然按1%的采样率采样,防止数据增长过快,当想调试时,就在URL中添加debug=1的参数即可。
#在xhgui/config/config.default.php中,找到profiler.enable这里,按如下修改:
#mongo
//采样率
'profiler.enable' => function() {
    // url 中包含debug=1则百分百捕获
    if(!empty($_GET['debug'])){
        return true;
    } else {
        // 1%采样
        return rand(1, 100) === 42;
    }
},
//优化建议:可以给mongo数据表加上索引

7. 使用と効果

//在需要的项目中的最开始,引入文件即可
require "/dir/external/header.php";
//操作项目,即可在xhgui平台中查看数据分析性能

効果は次のとおりです



PHP性能解析基盤構築PHP性能解析基盤構築PHP 関連の技術記事の詳細については、

PHP チュートリアル

列にアクセスして学習してください。

以上がPHP性能解析基盤構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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