Рубрики
Uncategorized

Tideways, xhprof и xhgui Создают платформу для ненавязчивого мониторинга PHP

Автор оригинала: David Wong.

Рекомендуемое чтение

  • Tideways, xhprof и xhgui Создают платформу для ненавязчивого мониторинга PHP
  • Краткое введение в Супер-полные шаблоны проектирования (45 видов)
  • Дизайн-шаблоны-для-людей Китайская версия
  • Ресурсы MongoDB, Библиотеки, Инструменты, Список выбора приложений Китайская версия
  • Какие существуют малоизвестные, но интересные сайты?
  • Записка об Осадном льве
  • Каждый день собирайте отличные проекты на Github
  • Несколько интересных народных сказок
  • Супер Полезный Браузер Google, Sublime Text, Phpstorm, Коллекция плагинов Oil Monkey

Подготовка к охране окружающей среды

Перед установкой убедитесь, что следующее программное обеспечение установлено правильно

  • PHP
  • Nginx
  • Mongodb

Установите расширение PHP mongodb

$ sudo pecl install mongodb

Добавьте в файл конфигурации PHP

[mongodb]
extension=mongodb.so

Установите расширение PHP Hideaways

Обычная компиляция и установка

$ git clone https://github.com/tideways/php-xhprof-extension.git
$ cd /path/php-xhprof-extension
$ phpize
$ ./configure
$ make
$ sudo make install

Добавьте в файл конфигурации PHP

[tideways]
extension=tideways_xhprof.so
It does not need to be loaded automatically, so it can be controlled in the program.
tideways.auto_prepend_library=0
The frequency is set to 100, which can be modified when the program is called.
tideways.sample_rate=100

Установите xhgui-ветку (китайская версия xhgui)

$ git clone https://github.com/laynefyc/xhgui-branch.git
$ cd xhgui-branch
$ php install.php

Измените файл конфигурации xhgui-филиала

 'tideways_xhprof',
     ...
    'save.handler' => 'mongodb',
    'db.host' => 'mongodb://127.0.0.1:27017',
    'db.db' => 'xhprof',
     ...
);

Запустите mongodb и установите индекс xhgui. Команда выглядит следующим образом:

$ mongo

> use xhprof
> db.results.ensureIndex( { 'meta.SERVER.REQUEST_TIME' : -1 } )
> db.results.ensureIndex( { 'profile.main().wt' : -1 } )
> db.results.ensureIndex( { 'profile.main().mu' : -1 } )
> db.results.ensureIndex( { 'profile.main().cpu' : -1 } )
> db.results.ensureIndex( { 'meta.url' : 1 } )

Справочник По Конфигурации Локального Виртуального Хоста Xhgui

server {
    listen       80;
    server_name  xhgui.test;
    root         /Users/yaozm/Documents/wwwroot/xhgui-branch/webroot;

    # access_log  /usr/local/var/log/nginx/access.log;
    error_log  /usr/local/var/log/nginx/error.log;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
        index  index.php index.html index.htm;
    }
}

Для анализа сайта добавьте следующие элементы непосредственно в конфигурацию nginx анализируемого сайта, а затем сделайте конфигурацию эффективной.

$ fastcgi_param PHP_VALUE "auto_prepend_file=/path/xhgui-branch/external/header.php";

Эталонная конфигурация

server {
    listen       80;
    server_name  laravel.test;
    root         /Users/yaozm/Documents/wwwroot/laravel/public;

    # access_log  /usr/local/var/log/nginx/access.log;
    error_log  /usr/local/var/log/nginx/error.log;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
        index  index.php index.html index.htm;
    }
     # Add PHP_VALUE to tell the PHP program to call the service before execution
    fastcgi_param PHP_VALUE "auto_prepend_file=/path/wwwroot/xhgui-branch/external/header.php";
}

Или вы можете изменить файл конфигурации PHP, чтобы указать программе PHP вызывать службу перед выполнением.

; Automatically add files before PHP document.
; http://php.net/auto-prepend-file
auto_prepend_file = "/path/wwwroot/xhgui-branch/external/header.php"

Ссылка на ссылку

  • Ссылка на ссылку
  • Ссылка на ссылку
  • Ссылка на ссылку
  • Ссылка на ссылку
  • Ссылка на ссылку
  • Ссылка на ссылку