explain.depesz搭建步骤

explain.depesz为postgresql的WEB型查询计划分析工具,可以将查询计划每一步消耗的资源作展示为一个较为直观的图表,并将执行慢的步骤用颜色自动标注出来

示例网站:https://explain.depesz.com/
准备环境:
下载explain.depesz源码包,地址为https://gitlab.com/depesz/explain.depesz.com
liunx主流版本
已搭建好的postgresql数据库。版本9.2+
已搭建好的Mojolicious框架,具体搭建步骤:
Mojolicious 是下一代的 Perl 语言的 Web 编程框架,提供强大的功能而无需第三方包依赖,功能包括:RESTful 的路由、插件管理、Perl风格的模板系统、会话管理、签名的 cookie、静态文件服务、测试框架、文件级的Unicode支持等等。Mojolicious框架是一个非常简洁轻巧的perl语言的下一代web网络框架,其不需要第三方包的依赖即可提供强大的功能。
postgresql的监控工具OPM及查询分析WEB管理器依赖于此框架。
有网络环境下:
curl -L https://cpanmin.us | perl – -M https://cpan.metacpan.org -n Mojolicious
无网络环境下:
准备环境
ExtUtils-MakeMaker-7.32
version-0.9918
Module-Metadata-1.000033
Perl-OSType-1.010
Test-Harness-3.41
Module-Build-0.4224
ExtUtils-Constant-0.24
Socket-2.027
IO-Socket-IP-0.39
Time-Local-1.25
Mojolicious-7.70
所有插件安装方法为解压后进入目录 执行perl Makefile.PL 生成makefile然后执行make&&make install

Mojolicious搭建完毕后开始搭建explain.depesz
需要提前准备好的perl包:
Algorithm-Diff-1.1903
Date-Simple-3.03
Email-Valid-1.202
DBD-Pg-3.7.4
Module-Signature-0.81
DBI-1.640
Types-Serialiser-1.0
Test-Base-0.88
Test-Simple-1.302130
HOP-Lexer-0.032
Text-Diff-1.45
Test-Exception-0.43
XML-NamespaceSupport-1.12
Canary-Stability-2012
JSON-2.97001
XML-SAX-Expat-0.51
XML-SAX-Base-1.09
common-sense-3.74
HOP-Stream-0.03
YAML-1.24
Spiffy-0.46
Sub-Uplevel-0.2800
Test-YAML-1.06
XML-Simple-2.24
JSON-XS-3.04
Pg-Explain-0.76
Module-Build-0.4224
Test-Deep-1.127
Mozilla-CA-20180117
NTLM-1.09
Mail-Sender-0.903
其中除Pg-Explain-0.76外其余所有插件的安装包方式均为解压后执行perl Makefile.PL &&make&&make install
Pg-Explain-0.76需要执行./Build && ./Build install
安装完毕后需要使用./Build test 进行测试,必须结果为pass才算通过
安装完毕后数据库建立相关库及用户
create database explain;
create user explain with superuser password ‘123’;
解压源码包
unzip explain.depesz.com-master.zip
建立完毕后切换至explain库并执行相关脚本,脚本在源码包解压后的sql文件下
\i create.sql
\i patch-001.sql
\i patch-002.sql
…..
\i patch-010.sql

此工具为WEB型工具,配置文件为explain.json,连接数据库的端口号、用户名、密码均在此配置
例如:
{
“title” : “explain.depesz.com”,

"secret" : "|Erp--Wjgb)+eiB/|H=|V7!#+M|L{a8=J2|pd+N1=M|&pJWq|M&,f3q^XS",

"database" : {
    "dsn"      : "dbi:Pg:database=explain;host=127.0.0.1;port=5432",
    "username" : "explain",
    "password" : "explain",
    "options"  : {
        "auto_commit" : 1,
        "pg_server_prepare" : 0,
        "RaiseError" : 1,
        "PrintError" : 0
    }
},

"mail_sender" : {
    "from"    : "explain.depesz.com ",
    "to"      : "depesz ",
    "subject" : "Message from: explain.depesz.com/contact"
},

"hypnotoad"   : {
    "listen"  : ["http://*:12004"],
    "workers" : 2,
    "pid_file" : "/var/run/explain.depesz.com.pid"
}

}

确认配置完毕后 使用./explain.pl daemon启动程序
并通过WEB登录
http://localhost:3000

文章浏览总量 608 次

要发表评论,您必须先登录