pgbench远程使用教程

背景: postgresq部署在A服务器上,提供ip,端口,数据库,账号密码。
但是,无法登录该服务器,只能远程使用pgbench做简单的压测

pgbench使用教程

一、pgbench简介

pgbench是一种在PostgreSQL上运行基准测试的简单程序, 它是pg自带的工具; 它可能在并发的数据库会话中一遍一遍地运行相同序列的 SQL 命令,并且计算平均事务率(每秒的事务数); 默认情况下,pgbench会测试一种基于 TPC-B 但是要更宽松的场景,其中在每个事务中涉及五个SELECT、UPDATE以及INSERT命令。 通过编写自己的事务脚本文件很容易用来测试其他情况; 测试的目的是了解硬件的处理能力;通过调整参数优化数据库事务处理性能

二、安装

注1:如果直接能登录相关的虚拟机或进入容器,在安装目录的bin目录自带此工具,无需安装

注2:如果不提供的话,此处以redhat安装举例,安装pgbench 14

官网安装如下包:

rpm -ivh postgresql14-14.6-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql14-libs-14.6-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql14-contrib-14.6-1PGDG.rhel7.x86_64.rpm

# 此包非必须,可不用安装,安装需要依赖,省略
rpm -ivh postgresql14-server-14.6-1PGDG.rhel7.x86_64.rpm</pre>

# 验证
# 进入下面目录查看有无pgbench文件
cd /usr/pgsql-14/bin</pre>

三、压测

1.压测命令

# 1\.  首次,初始化数据库和表(命令执行后要输入远程pg服务器密码)
./pgbench -h 10.219.108.54 -p 5439 -U owdevice -d device -i 

# 2\.  5个客户端,查和saql权重1:1,基准压测(命令执行后要输入远程pg服务器密码)
./pgbench -h 10.219.108.54 -p 5439 -U owdevice -d device -c 5 -f select.sql@1 -f insert.sql@1

2.通用参数详解

注:此处只讲解通用参数,压测细节参数查询官网,比较灵活,随机应变

官网地址:https://postgresql.ac.cn/docs/current/pgbench.html

-i:初始化模式
-s: 插入的倍数,默认是1,即插入100000条;也就是执行多少次generate_series(1,100000)
-h: 数据库服务器的主机名
-p:端口
-U: 登录名
-d: 数据库名
-f:指定的压测sql
@ :权重
-t: 客户端数目

3.注意事项

1.数据库中不得存在如下表,否则清空!!!!

pgbench_branches        1
pgbench_tellers         10
pgbench_accounts        100000
pgbench_history         0</pre>

2.select.sql和insert.sql来源

实际上这两个文件是自己写的和命名的,用来替换内置的默认sql。可以随意命名和修改内部的sql,以符合自己的压测场景。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容