测试方法
本章提供GaussDB使用BenchmarkSQL进行性能测试的方法和测试数据报告。
BenchmarkSQL,一个JDBC基准测试工具,内嵌了TPC-C测试脚本,支持很多数据库,如PostgreSQL、Oracle和Mysql等。
TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统。几乎所有在OLTP市场提供软硬平台的国外主流厂商都发布了相应的TPC-C测试结果,随着计算机技术的不断发展,这些测试结果也在不断刷新。
测试环境
- 局点:华为云。
- 实例类型:分布式。
- 规格选择:16U128G和32U256G。
- 集群规模:3CN,3分片,3副本。
测试方法
- 修改连接配置。
- 重点参数修改。
//连接配置 conn=jdbc:postgresql://127.0.0.1:8000/postgres?autoBalance=true //连接用户名 user=**** //连接密码 password=**** //压入数据量 warehouses=1000 //压入并发 loadWorkers=10 //业务并发 terminals=2048 //运行时间 runMins=30
复制 - 压数据
./runDatabaseBuild.sh props.pg
- 运行tpcc业务场景
./runBenchmark.sh props.pg
建表语句
create table bmsql_config ( cfg_name varchar(30), cfg_value varchar(50) ) DISTRIBUTE BY REPLICATION; create table bmsql_warehouse ( w_id integer not null, w_ytd decimal(12,2), w_tax decimal(4,4), w_name varchar(10), w_street_1 varchar(20), w_street_2 varchar(20), w_city varchar(20), w_state char(2), w_zip char(9) )WITH (FILLFACTOR=80) DISTRIBUTE BY hash(w_id); create table bmsql_district ( d_w_id integer not null, d_id integer not null, d_ytd decimal(12,2), d_tax decimal(4,4), d_next_o_id integer, d_name varchar(10), d_street_1 varchar(20), d_street_2 varchar(20), d_city varchar(20), d_state char(2), d_zip char(9) )WITH (FILLFACTOR=80) DISTRIBUTE BY hash(d_w_id); create table bmsql_customer ( c_w_id integer not null, c_d_id integer not null, c_id integer not null, c_discount decimal(4,4), c_credit char(2), c_last varchar(16), c_first varchar(16), c_credit_lim decimal(12,2), c_balance decimal(12,2), c_ytd_payment decimal(12,2), c_payment_cnt integer, c_delivery_cnt integer, c_street_1 varchar(20), c_street_2 varchar(20), c_city varchar(20), c_state char(2), c_zip char(9), c_phone char(16), c_since timestamp, c_middle char(2), c_data varchar(500) )WITH (FILLFACTOR=80) DISTRIBUTE BY hash(c_w_id); create sequence bmsql_hist_id_seq cache 1000; create table bmsql_history ( hist_id integer, h_c_id integer, h_c_d_id integer, h_c_w_id integer, h_d_id integer, h_w_id integer, h_date timestamp, h_amount decimal(6,2), h_data varchar(24) )WITH (FILLFACTOR=80) DISTRIBUTE BY hash(h_w_id); create table bmsql_new_order ( no_w_id integer not null, no_d_id integer not null, no_o_id integer not null )WITH (FILLFACTOR=80) DISTRIBUTE BY hash(no_w_id); create table bmsql_oorder ( o_w_id integer not null, o_d_id integer not null, o_id integer not null, o_c_id integer, o_carrier_id integer, o_ol_cnt integer, o_all_local integer, o_entry_d timestamp )WITH (FILLFACTOR=80) DISTRIBUTE BY hash(o_w_id); create table bmsql_order_line ( ol_w_id integer not null, ol_d_id integer not null, ol_o_id integer not null, ol_number integer not null, ol_i_id integer not null, ol_delivery_d timestamp, ol_amount decimal(6,2), ol_supply_w_id integer, ol_quantity integer, ol_dist_info char(24) )WITH (FILLFACTOR=80) DISTRIBUTE BY hash(ol_w_id); create table bmsql_item ( i_id integer not null, i_name varchar(24), i_price decimal(5,2), i_data varchar(50), i_im_id integer ) DISTRIBUTE BY REPLICATION; create table bmsql_stock ( s_w_id integer not null, s_i_id integer not null, s_quantity integer, s_ytd integer, s_order_cnt integer, s_remote_cnt integer, s_data varchar(50), s_dist_01 char(24), s_dist_02 char(24), s_dist_03 char(24), s_dist_04 char(24), s_dist_05 char(24), s_dist_06 char(24), s_dist_07 char(24), s_dist_08 char(24), s_dist_09 char(24), s_dist_10 char(24) )WITH (FILLFACTOR=80) DISTRIBUTE BY hash(s_w_id);复制
测试指标
流量指标(Throughput,简称tpmC):按照TPC组织的定义,流量指标描述了系统在执行支付操作、订单状态查询、发货和库存状态查询这4种交易的同时,每分钟可以处理多少个新订单交易。所有交易的响应时间必须满足TPC-C测试规范的要求,且各种交易数量所占的比例也应该满足TPC-C测试规范的要求。在这种情况下,流量指标值越大说明系统的联机事务处理能力越高。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1127次阅读
2025-04-09 15:33:27
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
484次阅读
2025-04-10 15:35:48
北京市公安局数据库大单:华为云GaussDB 1427万、金仓数据库 510万!
通讯员
220次阅读
2025-04-11 12:33:24
新疆维吾尔自治区行政事业单位数据库2025年框架协议采购(二次)入围结果公布
通讯员
89次阅读
2025-04-14 12:21:01
《一文讲透》第6期:揭秘 KWDB 的多模核心技术
KaiwuDB
43次阅读
2025-03-28 15:02:54
GaussDB 控制语句:原理、实践与性能调优
Gauss松鼠会
43次阅读
2025-03-20 14:53:41
_通过 Navicat 连接 GaussDB 数据库实例
Gauss松鼠会
40次阅读
2025-03-20 14:52:44
GaussDB 权限管理:从 RBAC 到精细化控制的技术实践
Gauss松鼠会
40次阅读
2025-03-19 11:28:03
【GaussDB每日一贴】aclexplode函数的使用
猪踢库
39次阅读
2025-03-23 20:35:26
什么情况适合创建索引?
小小星月明
38次阅读
2025-03-16 15:50:52