Maison  >  Article  >  développement back-end  >  Construction d'une plateforme d'analyse des performances PHP

Construction d'une plateforme d'analyse des performances PHP

步履不停
步履不停original
2019-07-01 15:44:373922parcourir

Construction d'une plateforme d'analyse des performances PHP

Construire une plateforme d'analyse des performances PHP (tideways + xhgui+ nginx + php7)

Introduction

Construire une plateforme d'analyse des performances PHP sans changer votre code du programme utilise nginx pour ajouter une couche de surveillance au-dessus de votre programme (pour produire des journaux fixes), analyser les informations du programme du journal et effectuer une analyse et une optimisation des performances

1. Installez mongodb

Omettez 1000 mots ici et trouvez le document vous-même

2. Installez l'extension 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. Installez l'extension 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 . Modifiez le fichier de configuration

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

5. Téléchargez le projet 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. Modifiez le fichier de configuration

#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. L'image de l'effet est la suivante



Construction dune plateforme danalyse des performances PHPConstruction dune plateforme danalyse des performances PHPPour plus d'articles techniques liés à PHP, veuillez visiter la colonne

Tutoriel PHP

pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn