2 / 16
TPC-E测试程序的设计与实现
白箱测试部 龙涛()
摘要:随着新的事务处理性能测试标准TPC-E的发布,已经有越来越多的企业公布了自己的测试结果。在严格遵循官方文档中给出的测试规范的前提下,如何搭建TPC-
交易历史表
TH_
TRADE_REQUEST
交易请求表
TR_
TRADE_TYPE
交易类型表
TT_
MARKET
交易所类
COMPANY
公司表
CO_
COMPANY_COMPETITOR
公司竞争者表
CP_
DAILY_MARKET
日常市场统计表
DM_
EXCHANGE
交易所表
EX_
FINANCIAL
财政表
FI_
INDUSTRY
行业表
IN_
LAST_TRADE
最后交易表
LT_
NEWS_ITEM
新闻项表
NI_
NEWS_XREF
公司新闻参照表
NX_
SECTOR
公司领域表
SC_
SECURITY
证券表
S_
DIMENSION
ADDRESS
地址表
AD_
5 / 16
因素类
STATUS_TYPE
交易状态表
ST_
TAXRATE
税率表
TX_
ZIP_CODE
邮政编码表
ZC_
表1 TPC-E基准中的表
TPC-E标准中定义的事务有12种,每个事务对应数据库管理系统中的一个或多个带输入和输出参数的存储过程,单个存储过程叫做一个事务帧。事务的种类有如下几种:
(1) Broker-Volume:经纪人交易统计事务,包含1个事务帧;
(2) Customer-Position:客户价值统计事务,包含3个事务帧;
(3) Market-Watch:市场观察事务,包含1个事务帧;
(4) Security-Detail:证券信息事务,包含1个事务帧;
(5) Trade-Lookup:交易查询事务,包含4个事务帧;
(6) Trade-Order:交易执行事务,包含6个事务帧;
(7) Trade-Status:交易状态事务,包含1个事务帧;
(8)Trade-Update:交易修正事务,包含3个事务帧;
(9) Market-Feed:市场跟踪事务,包含1个事务帧,该事务由TradeOrder事务引起;
(10)Trade-Result:交易结果更新事务,包含6个事务帧,该事务由TradeOrder事务引起;
(11)Data-Maintenance:数据维护事务,包含1个事务帧,每60秒执行一次;
(12)Trade-Cleanup:交易清理事务,包含1个事务帧,测试开始时执行一次,不强制使用。
前8种事务由证券公司执行,第9-10号事务由交易所执行,最后两种事务属于数据库维护事务,与客户操作无关。
2.2 逻辑架构
逻辑架构中的各个组件,如图1所示,包括Driver、Tier A和Tier B,其中Tier A和Tier B合起来叫做SUT(System Under Test待测试系统)。图中用三种颜色标识了不同内容:亮色部分代表TPC官方提供的程序,在测试中强制要求使用;黄色部分代表商用组件,比如数据库管理系统,数据库驱动程序;紫色部分代表必须由
5 / 16
TPC-E测试的主办者实现的内容。
测试主办者实现的内容主要包括以下几点:
(1)Driving和Reporting:事务模拟驱动架构和统计报告,即Driver层测试程序的总控制模块(包括读取设置参数,建立各种队列、网络连接和工作线程等)和波形图以及报表显示模块;
(2)CE、MEE和DM:事务模拟器,在官方提供的EGenDriverCE、EGenDriverMEE和EGenDriverDM源代码包中分别实现了客户事务、交易所事务和数据库维护事务的随机产生类(注意:随机产生的是对应事务的存储过程的具体输入参数信息结构体),但是,如何调用这些类,如何把随机产生的事务封装成对应的可识别的网络消息,如何组织和管理众多的随机事务,并记录每个事务的开始时间和接收到返回信息的时间,都必须由测试主办者实现;
(3)EGenDriver Connector:驱动连接器,负责把随机产生的事务源源不断的发送出去,并接收返回信息;
(4)EGenTxnHarness Connector:事务连接器,负责接收网络消息,转换成对应的事务输入信息结构体,然后调用执行接口,并将返回信
TPC-E测试程序的设计与实现剖析 来自淘豆网www.taodocs.com转载请标明出处.