热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用pgbench测试PostgreSQL

pgbenchtest

pgbench –help

初始化选项:

-i            调用初始化模式

-F NUM  填充因子

-s NUM   规模因子(与产生数据量大小有关)

Benchmarking选项:

-c NUM    数据库客户端并发数(默认:1)

-C (为每个事务建立新的连接)

-D VARNAME=VALUE 通过客户脚本为用户定义变量

-f FILENAME 从文件FILENAME读取事务脚本

-j NUM  线程数(默认:1)

-i  写事务时间到日志文件

-M{simple|extended|prepared} 给服务器提交查询的协议

-n 在测试之前不运行VACUUM

-N 不更新表“pgbench_tellers” “pgbench_branches”

-r 报告每条命令的平均延迟

-s NUM 在输出中报告规模因子

-S      执行 SELECT-only事务

-t NUM 每个客户端运行的事务数(默认:10)

-T NUM benchmark测试时间(单位:秒)

-v 在测试前清空所有的四个标准表

常用选项:

-d 输出打印调试信息

-h HOSTNAME 数据库服务器主机或socket 目录

-U USERNAME 指定数据库用户的连接

--help 显示帮助信息,然后退出

--version 输出版本信息,然后退出

生成数据

postgres=# create user benchmarksql with superuser password ‘123456‘;

CREATE ROLE

postgres=# create database benchmarksql owner benchmarksql;

CREATE DATABASE

[postgres@DELL-R720 bin]$ ./pgbench -i -F 100 -s 1428 -h 127.0.0.1 -p 6432 -U benchmarksql benchmarksql

连接的数据

[postgres@DELL-R720 bin]$ ./psql -h 127.0.0.1 -p 6432 -U benchmarksql benchmarksql

查看数据库大小

select pg_database_size(‘benchmarksql‘)/1024/1024/1024|| ‘GB‘;

开始测试

[postgres@DELL-R720 bin]$ ./pgbench -c 10 –j –t  -r  -T 1800 -h 127.0.0.1 -p 6432 -U benchmarksql

transaction type: TPC-B (sort of)

scaling factor: 1428

query mode: prepared

number of clients: 10

number of threads: 10

duration: 1800 s

number of transactions actually processed: 1294479

latency average: 13.905 ms

tps = 715.507310 (including connections establishing)

tps = 715.510043 (excluding connections establishing)

statement latencies in milliseconds:

         0.002768 \set nbranches 1 * :scale

         0.000647 \set ntellers 10 * :scale

         0.000562 \set naccounts 100000 * :scale

         0.000823 \setrandom aid 1 :naccounts

         0.000640 \setrandom bid 1 :nbranches

         0.000684 \setrandom tid 1 :ntellers

         0.000615 \setrandom delta -5000 5000

         0.054656 BEGIN;

         6.063291 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;

         0.092079 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;

         2.897447 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;

         2.026997 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;

         1.640868 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);

         1.184043 END;

[postgres@DELL-R720 bin]$ ./pgbench -c 20 -j 20 -M prepared -n -s 1428 -T 1800 -r -h 127.0.0.1 -p 6432 -U benchmarksql benchmarksql

transaction type: TPC-B (sort of)

scaling factor: 1428

query mode: prepared

number of clients: 20

number of threads: 20

duration: 1800 s

number of transactions actually processed: 1503569

latency average: 23.943 ms

tps = 829.034591 (including connections establishing)

tps = 829.038294 (excluding connections establishing)

statement latencies in milliseconds:

         0.003509 \set nbranches 1 * :scale

         0.001146 \set ntellers 10 * :scale

         0.000805 \set naccounts 100000 * :scale

         0.001075 \setrandom aid 1 :naccounts

         0.000881 \setrandom bid 1 :nbranches

         0.000874 \setrandom tid 1 :ntellers

         0.000881 \setrandom delta -5000 5000

         0.077150 BEGIN;

         9.083130 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;

         0.123980 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;

         6.025891 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;

         3.595181 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;

         3.098900 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);

         2.098509 END;

transaction type: TPC-B (sort of)

scaling factor: 1428

query mode: prepared

number of clients: 30

number of threads: 10

duration: 1800 s

number of transactions actually processed: 1468864

latency average: 36.763 ms

tps = 815.178087 (including connections establishing)

tps = 815.184313 (excluding connections establishing)

statement latencies in milliseconds:

         0.003654 \set nbranches 1 * :scale

         0.001164 \set ntellers 10 * :scale

         0.001123 \set naccounts 100000 * :scale

         0.001288 \setrandom aid 1 :naccounts

         0.001202 \setrandom bid 1 :nbranches

         0.001106 \setrandom tid 1 :ntellers

         0.001129 \setrandom delta -5000 5000

         0.154459 BEGIN;

         13.228743        UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;

         0.212691 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;

         9.070507 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;

         4.904218 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;

         5.595383 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);

         3.612066 END;

[postgres@DELL-R720 bin]$ ./pgbench -c 50 -j 50 -M prepared -n -s 1428 -T 1800 -r -h 127.0.0.1 -p 6432 -U benchmarksql benchmarksql

transaction type: TPC-B (sort of)

scaling factor: 1428

query mode: prepared

number of clients: 50

number of threads: 50

duration: 1800 s

number of transactions actually processed: 1641175

latency average: 54.839 ms

tps = 901.460449 (including connections establishing)

tps = 901.475075 (excluding connections establishing)

statement latencies in milliseconds:

         0.005079 \set nbranches 1 * :scale

         0.001588 \set ntellers 10 * :scale

         0.001257 \set naccounts 100000 * :scale

         0.001768 \setrandom aid 1 :naccounts

         0.001328 \setrandom bid 1 :nbranches

         0.001424 \setrandom tid 1 :ntellers

         0.001316 \setrandom delta -5000 5000

         0.256724 BEGIN;

         19.791906        UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;

         0.284488 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;

         13.638615        UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;

         8.232851 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;

         7.664059 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);

         5.561957 END;

使用pgbench测试PostgreSQL


推荐阅读
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 几何画板展示电场线与等势面的交互关系
    几何画板是一款功能强大的物理教学软件,具备丰富的绘图和度量工具。它不仅能够模拟物理实验过程,还能通过定量分析揭示物理现象背后的规律,尤其适用于难以在实际实验中展示的内容。本文将介绍如何使用几何画板演示电场线与等势面之间的关系。 ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 本文介绍如何在应用程序中使用文本输入框创建密码输入框,并通过设置掩码来隐藏用户输入的内容。我们将详细解释代码实现,并提供专业的补充说明。 ... [详细]
  • 本文介绍如何通过SQL查询从JDE(JD Edwards)系统中提取所有字典数据,涵盖关键表的关联和字段选择。具体包括F0004和F0005系列表的数据提取方法。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
author-avatar
阿门路亚_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有