TPC-App基准(数据库)
时间:2022-11-24 20:30:01 | 来源:信息时代
时间:2022-11-24 20:30:01 来源:信息时代
TPC-App基准 : TPC(transaction processing performance council)组织发布的应用服务器和Web服务评价基准,通过度量被测系统包含的应用服务器、消息中间件和数据库管理系统等商业软件产品所能承受的工作负载,来测试应用服务器的性能。该基准描绘了性能测试所需的一个具有产品浏览和订购场景的、基于Internet的零售应用系统,定义了在该场景中实现性能度量的规范。基准1.0版于2004年12月15日提交,2005年8月11日发布基准1.1.1版,2005年12月7日发布的版本是1.1.2。
围绕零售系统的业务,TPC-App基准为被测系统中的数据库定义了八张表,它们之间的关系如图1所示。方框内的数字表示相应数据表的记录数。客户数C是连接到被测系统的有效模拟商业客户的192倍,增加模拟商业客户数目的同时也要增加相关数据库表的记录条数,这种调整能够体现数据库能够支持的数据规模,也反映了应用服务器的并发处理能力。此外,基准还详细定义了这八张表的属性。
图1 TPC-App数据库表逻辑结构
基准描述了模拟环境中数据库的表数据组织、存储以及各表之间的约束等规范。表1描述了存在100个模拟商业客户时数据表的设计规模,包括记录规模和数据规模。
表1 TPC-App数据量估算表
数据表 名称 | 基数 (记录条数) | 典型记录 长度(字节) | 典型表大小 (字节) |
客户2 | 19 200 | 575 | 10 752K |
国家 | 92 | 54 | 4.85K |
地址2 | 26 880 | 154 | 4 139K |
订单2 | 192 000 | 126 | 24 192K |
订单明细1 2 | 1 056 000 | 56 | 59 136K |
作者 | 25 000 | 49 | 1 225K |
商品 | 100 000 | 789 | 78 900K |
库存 | 100 000 | 18 | 1 800K |
表中,“订单明细” 由于针对每个订单生成随机数目的订单明细,订单明细数据表的记录数可以有微小的变化;“订单”、“地址”测试过程中记录数会有所增加; “典型记录长度”和“典型表大小”只是实现中的一个示例,并且没有包括存储和访问所需的额外空间。
基准的工作负载由七种Web服务交互组成。基准要求在被测系统和远程商业模拟器或者外部模拟器(POV、ICE、PGE和SNE)之间发生的Web服务交互必须符合WS-I BP 1.0规范的规定,同时还对有效模拟商业客户与被测系统以及被测系统和POV、ICE、PGE和SNE之间的通信提出了明确的加密要求,对交互比例的控制提出了具体的指标(允许1%的偏差)。交互的特点和相关的标准要求如下:
(1) 新客户: 接受新客户申请注册的Web Service请求并返回新客户ID,交互比例1.00%,90%交互响应时间限制3.0秒。
(2)修改支付方式:为客户修改支付方式,交互比例5.00%,90%交互响应时间限制3.0秒。
(3)创建订单:在数据库中创建一个新订单并通知发货系统发货,交互比例50.00%,90%交互响应时间限制4.0秒。
(4)订单状态: 查询指定客户最近的N个订单的详细信息,交互比例5.00%,90%交互响应时间限制4.0秒。
(5)新产品:返回最近修改过的商品列表,交互比例7.00%,90%交互响应时间限制1.0秒。
(6)产品信息:返回指定商品集合的详细商品信息,交互比例30.00%,90%交互响应时间限制1.0秒。
(7)修改商品:修改一组商品的出版日期,交互比例2.00%,90%交互响应时间限制1.0秒。
基准规定了四个衡量指标: ①每个应用服务器系统的SIPS(Web service interactions per second); ②总的SIPS;③每个SIPS所需的花费,即性能价格比;④有效日期。SIPS是被测系统在测试过程中每秒成功完成的交互数目; 性价比即价格/性能,单位是$/SIPS,即每个SIPS花费的美元。
TPC基准规定的测试模型出于控制数据冲突概率不变的考虑,规定数据规模必须与被测系统的性能指标成正比。为了增加被测系统的吞吐量,唯一的途径就是增加有效模拟商业客户的数目。这是由于基准规定了模拟商业客户数目和数据规模的比例,同时在一些交互中引入了延迟,因此,每个模拟商业客户单位时间内只能完成一定数量的交互。
根据交互比例和响应延迟,可以计算出有效模拟商业用户数目和SIPS值之间的关系。SIPS的上界可以通过有效模拟商业客户数和每个有效模拟商业客户的SIPS上界的乘积得到:
假设被测系统的性能足够好,各种交互的响应时间为零,根据基准对七种Web服务交互的描述,50%的新客户、修改商品和创建订单交互由于和POV、ICE、PGE和SNE之间存在通信引入了一个不小于2秒的延迟,根据交互的混合比例可以计算平均交互响应时间的下界:
平均交互响应时间的下界=(0.01+0.05+0.05)×1.0+(0.05+0.07+0.30+0.02)×0.0=0.56(秒);
SIPS的上界=(1/0.56)×活动模拟商业客户=1.78×活动模拟商业客户。
为了避免被测系统过载,基准规定SIPS的下界为SIPS上界的50%:
SIPS的下界=0.5×1.78×活动模拟商业客户=1.89×活动模拟商业客户。
基准规定,系统的吞吐量由有效模拟商业客户数量决定。有效模拟商业客户数量是指测试期间并发地与Web服务进行交互的模拟商业客户的数量,它是配置模拟商业客户数量的子集(即0.9×配置模拟商业客户数量≤有效模拟商业客户数量≤1.0×配置模拟商业客户数量)。
基准对有效模拟商业客户的操作步骤进行了严格定义,SIRT(Web service interaction response time)表示Web服务交互响应时间。测试过程中,必须对七种Web服务交互的SIRT进行记录,其中90%交互的SIRT必须低于规定的上限。
基准描述了各事务要求满足的ACID属性的各项测试及规范,规定只有通过了基准中ACID各项测试后的系统测试值才能被认为有效。
此外基准还描述了测试系统的基本架构,被测系统和驱动系统终端以及其连接通信方式,系统计价的方法,测试过程的审计,以及测试报告发布的相关规范等。
相比于其他TPC基准,TPC-App基准公布时间比较晚,目前发布在TPC官方网站上的测试报告不多。