使用benchmarkSQL测试数据库的TPCC

合集下载

TPCC计算方法

TPCC计算方法

TPCC计算方法TPCC(TPC-C)是一个基准测试,用于评估计算机系统的事务处理性能。

TPCC基准通过模拟一个在线事务处理(OLTP)数据库环境,来测试系统在处理多用户并发事务时的性能表现。

本文将介绍TPCC计算方法,并提供详细的解释。

TPCC基准主要包含了以下几个核心概念和计算方法:1. 事务(Transaction):TPCC基准中模拟的是一个具有交互式用户的在线订单处理系统。

每个事务代表一个用户在系统中发出的一条命令,比如查询、更新或插入数据等。

每个事务都有一定的权重(Weight),用来表示其在整个基准测试中的重要性。

2. 终端(Terminal):终端是指模拟的用户终端设备,每个终端可以同时执行多个事务。

终端的数量决定了基准测试中并发用户的数量,因此也会影响测试结果。

3. 仓库(Warehouse):仓库是模拟的在线订单处理系统的中心数据库。

它包含了所有的数据表,比如顾客信息、订单信息等。

每个仓库有一个唯一的仓库号(Warehouse ID),终端根据仓库号来访问具体的数据。

4. 操作类型(Operation Type):操作类型定义了终端可以执行的事务类型,比如新订单(New Order)、支付(Payment)、交货(Delivery)等。

每个操作类型通常对应一个或多个SQL查询或更新操作。

5. 事务权重(Transaction Weight):每个事务都有一个权重值,用来表示其在基准测试中的重要性。

权重值越高,表示该事务在整个测试中占据的比例越大,对性能的影响也越大。

基于以上概念,TPCC基准的计算方法可以分为以下几个步骤:1.初始化数据库:在开始测试之前,需要初始化数据库,包括创建表结构、插入初始数据等。

通常会选择一个合适数量的仓库来模拟具体的系统负载。

2.确定测试参数:在进行基准测试之前,需要确定一些测试参数,比如终端数量、仓库数量、事务数量和持续时间等。

3.模拟用户交互:基于确定的参数,启动终端并模拟用户交互。

达梦数据库TPCC测试

达梦数据库TPCC测试

达梦数据库TPCC测试随着达梦数据库越来越流⾏,数据库性能测试成为⽇常DBA或运维⼈员必备技能知识,常见的性能测试⼯具有jemeter、loadrunner、tpcc、tpc-h等软件。

常见的测试软件中tpcc⼯具相对⼤众化,适合⽤户快速正确确定数据库性能好坏的⼀个⼯具。

TPC-C是专门针对联机交易处理系统(OLTP系统)的规范。

TPC-C测试的结果主要有两个指标,即流量指标(Throughput,简称tpmC)和性价⽐(Price/Performance,简称Price/tpmC)。

流量指标(Throughput,简称tpmC):按照TPC组织的定义,流量指标描述了系统在执⾏⽀付操作、订单状态查询、发货和库存状态查询这4种交易的同时,每分钟可以处理多少个新订单交易。

所有交易的响应时间必须满⾜TPC-C测试规范的要求,且各种交易数量所占的⽐例也应该满⾜TPC-C测试规范的要求。

在这种情况下,流量指标值越⼤说明系统的联机事务处理能⼒越⾼。

性价⽐(Price/Performance,简称Price/tpmc):即测试系统的整体价格与流量指标的⽐值,在获得相同的tpmC值的情况下,价格越低越好。

本⽂通过实际⽤例介绍达梦数据的tpcc测试,旨在介绍达梦数据tpcc测试的⽅法和注意事项。

测试⼯具;bms5达梦数据库版本:dm8测试操作系统:centos7.4数据服务器内存;4gCpu: 4核1初始化实例1)准备初始化数据库实例,最好选取SSD作为实例路径,本例虚拟机所有磁盘都是SSD./dminit path=/opt/ssd2)启动数据库实例;./dmserver /opt/ssd/DAMENG/dm.ini2创建tpcc测试需要的数据库对象1)创建表空间和⽤户,注意由于此处虚拟机配置较低所以表空间⼤⼩此处设置的相对较⼩,需要根据实际环境进⾏相应的增加表空间⼤⼩和数据⽂件,因为数据库表空间⾃动扩展的时候会消耗资源,需要提前分配好空间,避免⾃动扩展时候影响性能。

tpcc 测试标准

tpcc 测试标准

tpcc 测试标准TPC-C测试标准是一种用于测试数据库系统性能的标准。

它是由Transaction Processing Performance Council(TPC)制定的,旨在模拟一个具有高并发、高吞吐量的在线事务处理系统。

TPC-C测试标准包括一系列的测试用例,用于评估数据库系统在处理事务时的性能表现。

TPC-C测试标准的测试用例包括以下几个方面:1. 数据库大小:测试用例中使用的数据库大小是由TPC-C规定的,通常为10GB、100GB或1000GB。

2. 事务类型:测试用例中包含了五种不同类型的事务,包括:新订单、支付、订单状态查询、库存查询和交货。

3. 并发用户数:测试用例中模拟了多个并发用户同时访问数据库系统,用户数从1到1000不等。

4. 数据库负载:测试用例中模拟了不同的数据库负载,包括读写比例、事务类型比例等。

5. 测试结果:测试结果包括吞吐量、响应时间、事务成功率等指标。

TPC-C测试标准的主要目的是为了评估数据库系统在高并发、高吞吐量的在线事务处理环境下的性能表现。

通过测试,可以评估数据库系统的性能瓶颈,找出系统的优化空间,提高系统的性能和可靠性。

在进行TPC-C测试时,需要注意以下几个方面:1. 硬件环境:测试时需要使用高性能的服务器和存储设备,以保证测试结果的准确性。

2. 软件环境:测试时需要使用稳定的数据库系统和操作系统,以避免软件问题对测试结果的影响。

3. 测试数据:测试时需要使用真实的数据,以保证测试结果的可靠性。

4. 测试过程:测试时需要按照规定的测试用例进行测试,以保证测试结果的可比性。

总之,TPC-C测试标准是评估数据库系统性能的重要标准之一。

通过测试,可以找出系统的性能瓶颈,提高系统的性能和可靠性,为企业的在线事务处理提供更好的支持。

TPCC性能测试

TPCC性能测试

TPC-C性能测试1. 前言........................................................................................................ 错误!未定义书签。

2. 逻辑数据库设计....................................................................................错误!未定义书签。

2.1 业务和应用程序环境............................................................................................ 错误!未定义书签。

2.2 数据库实体、关系、属性.................................................................................... 错误!未定义书签。

2.3 表结构 ................................................................................................................... 错误!未定义书签。

2.3.1 WAREHOUSE(仓库)......................................................... 错误!未定义书签。

2.3.2 DISTRICT(地区)................................................................ 错误!未定义书签。

2.3.3 CUSTOMER(客户) ............................................................ 错误!未定义书签。

达梦数据库性能测试软件操作

达梦数据库性能测试软件操作

(1)创建用户benchmarksql/123456789,并开通权限。

(2)./runSQL.sh props.dm sqlTableCreates(3)./runLoader.sh props.dm numWAREHOUSES 10(4)disql执行sqlSequenceCreate.sql,在数据库管理工具中执行。

(5)./runBenchmark.sh props.dm备注:编辑props.dm,driver=dm.jdbc.driver.DmDriverconn=jdbc:dm://localhost:5236user=benchmarksqlpassword=123456789warehouses=100terminals=20//To run specified transactions per terminal- runMins must equal zero runTxnsPerTerminal=0//To run for specified minutes- runTxnsPerTerminal must equal zerorunMins=60//Number of total transactions per minutelimitTxnsPerMin=0//The following five values must add up to 100//The default percentages of 45, 43, 4, 4 & 4 match the TPC-C specnewOrderWeight=45paymentWeight=43orderStatusWeight=4deliveryWeight=4stockLevelWeight=4warehouses 是仓库建立库,增加内容,服务器一般可以建立100个。

Terminals是终端并发数量,服务器一般是建立20个。

TPCC的相关说明-小型机相关(原创)

TPCC的相关说明-小型机相关(原创)

关于TPCC值的一些分析和说明:基于如下1、2、3点分析,TPCC测试已被HP还有目前的很多其他服务器厂商(尤其是小型机厂商)所抛弃。

同时,包括TPCC组织自身,不提倡任何形式的TPCC值的人为推算或者估算。

考虑到用户对安腾服务器技术以及性能以及于IBM对比的关注,在尽可能接近用户实际的需求的环境下,以4核rx6600 HP UX 11iv2 Oracle 数据库TPMC值,进行服务器性能分析,供用户参考。

1、对于小型机而言,TPCC已经过时1)任何指标测试都不会是永久实用的。

早在TPCC测试正式发布之前,97年5月,TPC 组织就已声明“Benchmarks have a lifetime”;且“even good benchmarks become obsolete over time”——“再好的性能测试指标也会过时”;参考链接:/information/sessions/sigmod/sigmod97.ppt2)TPCC是1993年正式发布的性能测试指标,当时绝大多数应用都是基于Client/Server 二层架构(轻型负载简单应用),TPCC测试的模型也是基于C/S二层架构设计的;时至今日,IT经历了10余年大发展,业界主流应用都是基于B/S三层架构(复杂应用),TPCC的测试的模型早已过时。

参考链接:/tpcc/spec/tpcc_current.doc3)对于小型机所承载的7×24小时的关键业务以及大规模复杂应用,TPCC已经不适用,包括SUN、HP在内的主流小型机厂商已经抛弃了TPCC测试。

HP的小型机产品,自从07年以后就再没有测试过TPCC。

而对应到基于小规模简单应用工业标准的PC服务器,或许还有一定的参考价值。

HP最新DL370 G6 满配ORACLE数据库苦环境TPCC测试值高于同样8核配置的P6 550。

参考链接:/tpcc/results/tpcc_results.asp?orderby=hardware4)值得注意,虽然IBM是仅存的至今仍乐此不疲的测试以及鼓吹TPCC的小型机机厂商,但连IBM自己也在其白皮书中也提到,TPCC值已经过时:参考链接:ftp:///eserver/benchmarks/wp_TPC-E_Benchmark_022307.pdf5)09年全世界的服务器厂商公测的TPCC只有区区5个,涉及品牌只有2家,且全部都是基于PC服务器的测试。

TPC-C性能测试

TPC-C性能测试

TPC-C性能测试1. 前言 (2)2. 逻辑数据库设计 (2)2.1 业务和应用程序环境 (2)2.2 数据库实体、关系、属性 (3)2.3 表结构 (4)2.3.1 WAREHOUSE(仓库) (4)2.3.2 DISTRICT(地区) (5)2.3.3 CUSTOMER(客户) (6)2.3.4 HISTROY(历史记录) (7)2.3.5 NEW_ORDER(新定单) (7)2.3.6 ORDER(定单) (7)2.3.7 ORDER_LINE(定单分录) (8)2.3.8 ITEM(供货商品) (8)2.3.9 STOCK(存货) (9)3. 业务和用户界面 (9)3.1 输入域和显示域 (9)3.2 业务 (10)3.2.1 新定单(New-Order) (10)3.2.2 付款(Payment) (11)3.2.3 查询定单(Order-Status) (12)3.2.4 发货(Delivery) (12)3.2.5 库存报警(Stock-Level) (13)前言事务处理性能协会(Transaction Processing Performance Council,简称TPC)是一个专门评价大型数据库系统硬、软件性能的组织。

至今(1998年12月),TPC 颁布了A、B、C、D四种系统性能测试标准,简称为TPC-A、TPC-B、TPC-C、TPC-D。

其中TPC-A与TPC-B为早期标准,最新标准TPC-D仍在指定过程中,目前普遍使用针对联机事务处理(OLTP)的TPC-C标准。

TPC Benchmark C是一套评价OLTP性能的测试程序,被全球主流计算机硬件厂商、数据库厂商公认为性能评价标准。

TPC-C测试程序模拟了一个库存、销售系统,其中的数据库结构设计、应用程序规划代表了对RDBMS的标准用法。

本文以TPC在1998年8月14日分布的《TPC BENCHMARK C - Standard Specification Revision 3.4》英文版(可以从TPC主页“”下载)为蓝本,选择翻译了其中逻辑设计部分,为提高可读性,多处进行了意译,并加入了注解。

TPC,TPCC,TPMC

TPC,TPCC,TPMC

第一章什么是TPC和tpmC?1 TPCTPC(Transaction Processing Performance Council,事务处理性能委员会)是由数10家会员公司创建的非盈利组织,总部设在美国。

该组织对全世界开放,但迄今为止,绝大多数会员都是美、日、西欧的大公司。

TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。

TPC的出版物是开放的,可以通过网络获取()。

TPC不给出基准程序的代码,而只给出基准程序的标准规范(Standard Specification)。

任何厂家或其它测试者都可以根据规范,最优地构造出自己的系统(测试平台和测试程序)。

为保证测试结果的客观性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含五年维护费用在内的总价格。

该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。

现在全球只有几个审核员,全部在美国。

TPC已经推出了四套基准程序,被称为TPC-A、TPC-B、TPC-C和TPC-D。

其中A和B已经过时,不再使用了。

TPC-C是在线事务处理(OLTP)的基准程序,TPC-D是决策支持(Decision Support) 的基准程序。

TPC即将推TPC-E,作为大型企业(Enterprise)信息服务的基准程序。

2 tpmCtpmC值在国内外被广泛用于衡量计算机系统的事务处理能力。

但究竟什么是tpmC值呢?作者曾向一些用户、推销人员乃至某些国外大公司的技术人员问过这个问题,但回答的精确度与tpmC值的流行程度远非相称。

tpmC这一度量也常被误写为TPM或TPMC。

TPC-C模拟一个批发商的货物管理环境。

该批发公司有N个仓库,每个仓库供应10个地区,其中每个地区为3000名顾客服务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用benchmarkSQL测试数据库的TPCC
一、benchmarkSQL的特点:
开源、轻便、使用JDBC驱动;
适合不方便使用windows及ODBC驱动的环境测试TPCC
benchmarkSQL在使用时分为数据准备和测试执行两个阶段,其中数据准备阶段完全在命令行环境,而执行测试则根据当前用户状态而自动选择在命令行,或界面中执行。

JDK1.7
二、数据准备:
1. 在lib中放置JDBC驱动;
2. 修改run目录下:run开头的3个文件,修改里面jdbc
驱动名称;
3. 修改配置文件,其中props.ora和props.pg分别是对应
oracle和pg数据库的;
第一个部分是JDBC连接信息。

第二个部分是场景设置,其中runTxnsPerTerminal是每分钟执行事务数,runMins是执行多少分钟,limitTxnsPerMin是每分钟执行的事务总数,并且这里时间的单位是分钟。

场景执行的最低条件是第二项大于0。

第三个部分是TPCC中,五个事务执行的比例,总数等于100,通常不用修改。

1)建表:
建表的前提是初始化数据库
然后执行./runSQL kingbase.properties sqlTableCreates
sqlTableCreates是默认的建表语句,首先在库中创建一个benchmarksql模式,所有表都创建在这个模式下。

*由于建表语句中没有表空间的设置信息,因此如果创建比较大的表,系统会报错,只要根据之前执行TPCC测试时的建表语句,稍加修改即可。

*在ISQL模式下,使用set search_path=模式名; 可以切换当前操作路径,按默认的方式查看指定模式下的内容。

*在run中,对应建表,建索引,还有删除表,复制表,删除索引等几个脚本,可以配合使用。

2)加载数据:
在run下执行./runLoader.sh kingbase.properties numWarehouses 1300
注意如果表过大,需要提前修改建表语句,增加表空间。

3)创建索引:
在run下执行./runSQL kingbase.properties sqlIndexCreates 4)执行测试:
在run下执行./runBenchmark.sh kingbase.properties
系统开始滚屏,执行指定时间后:。

相关文档
最新文档