久趣下载站

当前位置: 首页 » 游戏攻略 » 使用pgbench进行Postgres基准测试

使用pgbench进行Postgres基准测试

前言

pgbench是一种在postgres上进行基准测试的简单程序,一般安装后就会自带。pgbench可以再并发的数据库绘画中一遍遍地进行相同序列的SQL语句,并且计算平均事务率。

测试准备

既然要测postgres,肯定要先有个postgres。安装过程略过。

一些环境信息:

  • postgres版本:15.3,安装完成后默认配置
  • os version:debian 12
  • 硬件配置:vbox虚拟机,4核4GB内存,40GB SSD存储

pgbench选项

运行

pgbench --help

查看帮助文档

    
      ...
      //(以下内容省略)
      ...
    
  

测试示例

  1. 初始化测试数据。以下命令会自动创建四张测试表,在其中一个表

    pgbench_accounts

    中创建200000行数据。再次初始化的话,pgbench会先把旧表删除,然后再建测试表。
      pgbench -i -s 2
      
    
  1. 使用默认配置执行一次简单的基准测试
      $ pgbench

      pgbench (15.3)
      starting vacuum...end.
      transaction type: <builtin: TPC-B (sort of)>  # 本次测试所使用的测试类型
      scaling factor: 2  # 用于记录在初始化设置的数据量比例因子
      query mode: simple  # 测试是指定的查询类型
      number of clients: 1  # 客户端数量
      number of threads: 1  # 每个客户端的线程数
      maximum number of tries: 1
      number of transactions per client: 10  # 每个客户端的事务数
      number of transactions actually processed: 10/10  # 实际完成的事务数量和计划完成的事务数量
      number of failed transactions: 0 (0.000%)
      latency average = 7.501 ms  # 平均响应时间
      initial connection time = 1.650 ms
      tps = 133.317335 (without initial connection time)
      
    

删除测试数据

    DROP TABLE IF EXISTS pgbench_accounts;
    DROP TABLE IF EXISTS pgbench_branches;
    DROP TABLE IF EXISTS pgbench_history;
    DROP TABLE IF EXISTS pgbench_tellers;
    
  

测试数据

500w数据量,postgres为默认配置

测试数据示例

猜你喜欢
本类排行