点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!
接上篇《PostgreSQL性能分析工具-PoWA》,接下来开始PoWA-collector、PoWA-web的安装使用及指标的介绍。
一个多线程python程序,它对在powa存储库数据库(在powa_servers表中)中配置的所有远程服务器执行快照收集。可以使用pip、RPM包或手动安装PoWA-collector。
安装要求:
需要 python 2.7 或 python 3 psycopg2
tar -zxvf powa-collector-1.2.0.tar.gz
cd powa-collector-1.2.0
cp ./powa-collector.conf-dist ./powa-collector.conf复制
/etc/powa-collector.conf
~/.config/powa-collector.conf
~/.powa-collector.conf
./powa-collector.conf复制
{
"repository": {
"dsn": "postgresql://postgres@localhost:5001/powa"
},
"debug": false
}复制
释义:
repository.dsn(字符串): 连接的URI,用于告诉 powa-collector 如何连接专用存储库 powa 数据库来存储所有远程实例的数据。
debug(布尔值): 一个布尔值,用于指定 powa-collector 是否应在调试模式下启动,提供更详细的输出,用于调试目的。
cd powa-collector-1.2.0
./powa-collector.py &复制
select powa_register_server(
hostname => '192.168.XX.22',
alias => 'testdb5002',
port => 5002,
username => 'postgres',
password => 'postgres',
frequency => 300);复制
释义:
hostname 强制,默认NULL。远程 PostgreSQL 实例的主机名或 IP 地址。 port 强制,默认5432。远程 PostgreSQL 实例的端口。 alias 可选,默认NULL。远程 PostgreSQL 实例的用户友好别名(需要唯一)。 username 强制,默认'powa'。用于连接远程 PostgreSQL 实例的用户的用户名。 password 可选,默认NULL。用于连接远程 PostgreSQL 实例的用户密码。如果未提供密码,则连接可以回退到其他标准身份验证方法(.pgpass 文件、证书……), 具体取决于远程服务器的配置方式。 dbname 强制,默认'powa'。用于连接远程 PostgreSQL 实例的数据库。 frequency 强制,默认300,远程服务器的快照间隔,单位为秒。 retention 强制,默认'1 day'::interval。远程服务器的数据保留。

select * from powa_servers;
复制
示例截图如下:

yum install -y python-sqlalchemy python-tornado
复制
wget https://pypi.io/packages/source/p/powa-web/powa-web-4.1.2.tar.gz
tar -zxvf powa-web-4.1.2.tar.gz
cd powa-web-4.1.2
cp ./powa-web.conf-dist ./powa-web.conf复制
1. 配置文件
/etc/powa-web.conf
~/.config/powa-web.conf
~/.powa-web.conf
./powa-web.conf复制
servers={
'main': {
'host': 'localhost',
'port': '5001',
'database': 'powa',
'username': 'postgres',
'query': {'client_encoding': 'utf8'}
}
}
cookie_secret="SECRET_STRING"复制
注:pg_hab.conf中配置为trust,免密连接,所以未配置password。
cd powa-web-4.1.2
./powa-web &复制




指标如下:
Plantime per sec:每秒SQL解析的总耗时。 Queries per sec:每秒执行查询的次数。 Runtime per sec:每秒执行查询的总耗时。 Avg runtime:查询的平均耗时。 Total shared buffers hit:命中共享缓冲区的数据量。 Total shared buffers miss:未命中共享缓冲区的数据量。

Query:执行的SQL文本。 (Execution) #:SQL执行的总次数。 (Execution) Plantime:SQL解析的总时间。 (Execution) Time:SQL执行的总时间。 (Execution) Avg time:SQL执行的平均时间。 (I/O Time) Read:读I/O等待时间。 (I/O Time) Write:写I/O等待时间。 (Blocks) Read:磁盘读页面数。 (Blocks) Hit:共享缓冲区命中页面数。 (Blocks) Dirtied:脏页面数。 (Blocks) Written:磁盘写页面数。 (Temp blocks) Read:磁盘读临时页面数。 (Temp blocks) Write:磁盘写临时页面数。 (WALs) #Wal records:WAL日志记录数。 (WALs) #Wal FPI:WAL FPI数。 (WALs) Wal bytes:WAL日志大小。

本文作者:魏 斌(上海新炬王翦团队)
本文来源:“IT那活儿”公众号
文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
外国CTO也感兴趣的开源数据库项目——openHalo
小满未满、
400次阅读
2025-04-21 16:58:09
9.9 分高危漏洞,尽快升级到 pgAdmin 4 v9.2 进行修复
严少安
353次阅读
2025-04-11 10:43:23
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
331次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
300次阅读
2025-04-07 12:14:29
postgresql+patroni+etcd高可用安装
necessary
166次阅读
2025-03-28 10:11:23
从 Oracle 到 PostgreSQL迁移成本评估揭秘
梧桐
152次阅读
2025-03-27 17:21:42
手把手教你在 openKylin 上部署 IvorySQL 4.4
严少安
150次阅读
2025-03-27 20:41:28
转发有奖 | PostgreSQL 16 PGCM高级认证课程直播班招生中!
墨天轮小教习
146次阅读
2025-04-14 15:58:34
墨天轮PostgreSQL认证证书快递已发(2025年3月批)
墨天轮小教习
127次阅读
2025-04-03 11:43:25
SQL 优化之 OR 子句改写
xiongcc
91次阅读
2025-04-21 00:08:06