XHgui を DOKER で構築する

xhgui を docker を使って構築します。手間を省き汎用性があるようにできます。

Contents

xhgui

xhgui(確認用)

xhgui を docker で構築します。

ダウンロード

git clone https://github.com/perftools/xhgui

構築

確認

下記コンテナを確認します。

  • xhgui_app_1
  • xhgui_mongo_1
  • xhgui_web_1

kitematic でした場合
xhgui_web_1 の WEB PREVIEW リンクから確認用サイトへ遷移できます。

xhgui(プロファイリング用)

解析する xhprof 導入済みサーバーに xhgui 用の設定を導入します。

ダウンロード

任意の箇所へ設置します。下記では「/var/www/html」としています。

composer

設定

xhgui 用に環境変数を設定します。

カスタム用 config ファイルを設定します。

今回は docker 用に下記に変更します。

事前実行

php.ini を編集して解析開始を本処理が行われる前に実行するようにします。

または、.htaccess を編集

直接指定するときは
php ファイルで呼び出し

あるいは、下記で処理のプログラムの実行前に指定したファイルを読み込むようにすることができます。

項目

  • Recent
    最近のデータを表示
  • Longest wall time
    処理時間順
  • Most CPU
    CPU の負荷順
  • Most memory
    メモリ使用量順
  • Custom View
    カスタム表示
  • Watch Functions
    ウォッチ機能
  • Waterfall
    ウォーターフォール表示
  • Search
    条件を設定して抽出します。

使い方

docker コンテナの xhgui_web_1 コンテナへアクセスします。
http://192.168.99.100:xxxxx/

MongoDB

php にmongo 拡張モジュール(旧)を拡張します。
今回はMongoClientクラスを使っている関係でmongoドライバーをインストールします。
※現在は MongoDB 拡張モジュールを使うべきです。

インストール

debian/ubuntu

centos

PHP 拡張モジュール追加

拡張モジュールをインストールします。

(mongodbの場合)

インストール確認

インストール先を確認

インストールした先がPHP拡張ディレクトリと同じか確認します。

INI編集

php.ini を編集します。

備考

項目

素の xhprof の場合

  • Function Name
    コールされた関数
  • Calls
    コールされた数
  • Calls%
    コール数の割合
  • Incl. Wall Time
    処理時間
  • IWall%
    処理時間の割合
  • Excl. Wall Time
    関数の処理時間(呼ばれた関数の処理時間は除外)
  • EWall%
    関数の処理時間の割合

関連リンク

xhgui
https://github.com/perftools/xhgui
https://github.com/perftools/xhgui-collector
mongodb
https://www.php.net/manual/ja/class.mongoclient.php
https://github.com/mongodb/mongo-php-driver-legacy
https://pecl.php.net/package/mongo
https://pecl.php.net/package/mongodb

返信を残す

メールアドレスが公開されることはありません。

CAPTCHA