首页 > 范文大全 > 正文

数据库性能测试的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇数据库性能测试的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:如今,数据库的应用越来越广泛,对数据库性能的要求也越来越高。鉴于数据库系统性能的重要性,其相应的测试方法就成为数据库领域的一个热门话题。该文对数据库性能测试和TPC-C基准测试标准进行研究,对数据库性能测试工具构架的设计展开探讨。

关键词:数据库性能测试;TPC-C基准测试标准;数据库性能测试工具构架

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)29-7090-03

The Investigation of Database Performance Testing

YAO Jing-ying

(Department of Information, Higher Normal School of Wuxi, Wuxi 214021, China)

Abstract: Today, the database is widely used , the requirement of the database performance is getting higher than before。Due to the importance of database performance,the corresponding method of evaluation becomes a hot topic in the database testing field. This paper analyses and researches the database performance testing and TPC-C performance test standard, discusses the design of the database performance test tool architecture.

Key words: database performance testing; TPC-C performance test standard; database performance test tool architecture

1 概述

如今,各种数据库系统处理的数据量越来越大,处理数据时遇到的问题也是方方面面的,因此,数据库的性能已经成为不同系统之间的主要差异因素。随着软件和网络应用的迅速发展,数据库发挥的作用越来越重要。其糟糕的性能在很大的程度上制约着数据库处理并发事务的能力,同时还影响着数据库的一致性。数据库的功能完善程度和性能稳定性直接影响着软件的执行效率。所以,数据库性能测试已经成为数据库领域的一个热门话题。

2 数据库性能测试

2.1 “性能测试”概念

“性能测试”主要指首先全面系统地了解掌握系统运行过程中会遇到的各种正常或者异常负载的条件,然后自己编写代码模拟这些条件,测试所设计的数据库系统在面临各种条件时的运行情况并加以记载、分析和总结。

2.2 “性能测试”目的

数据库性能测试的目的是测试该系统是否可以满足不同用户提出的各种要求,在测试中发现本系统运行的性能瓶颈,最终达到优化数据库系统的目的。评价数据库的性能时,选用真实的、具有代表性的、工作中实际使用的项目。面临新的程序或者要扩展新的功能时,设计者能够使用负载测试来判断系统是否可以处理用户期望的负载,从而了解该数据库系统将来的性能。

性能测试的目的有以下几个:

1)优化系统:反复对数据库系统进行性能测试,根据测试结果不断地对系统进行调整,以达到优化系统性能的目的。

2)找出设计中的缺点:测试过程中,发现由于数据库中的某个设计使得受控的负载增加到当前状态下的一个临界点,就可以想办法来改变这个设计,突破这个临界点,达到修复系统瓶颈的目的。

3)对数据库系统整体评估:可以根据性能测试的结果来评估数据库系统各方面的性能,使设计与实际应用挂钩,这对设计者修改系统设计有很大帮助。

4)验证系统的可靠性和稳定性:通过在一定的负载下运行一定时间的数据库系统,可以很好地评估系统是否可靠和稳定。

2.3 “性能测试”指标

资源利用率:指对不同系统资源的使用程度,是我们测试和分析瓶颈的主要对象。

吞吐量:一次数据库性能测试中,网络上传输的总的数据量就叫“吞吐量”。我们用单位时间内传输的数据量来衡量网络的性能。

并发:指许多的用户同时做同样的一个操作。通过并发操作,我们可以看到系统是否稳定,并发现系统设计中的问题。

请求响应时间:是指从客户端发出一个请求,到接收到服务器端返回的结果之间的时间

3 数据库性能基准测试

“性能基准测试”是指根据性能基准设计检测程序,搭建检测环境,进行性能测试,并把检测结果与相同检测程序在相同系统或另外系统上的运行结果相比较的整个过程。在数据库性能评估方面,目前存在着两个标准的基准程序系列:TPC和SPEC。其中,最具权威性也是应用最广泛的是TPC系列基准。

3.1 基准测试标准TPC

国际上TPC组织提出的数据库性能测试标准和规范,是最为大家所熟悉的数据库测试规范。TPC是事务处理委员会(Transaction Processing Council)的缩写,它的职责是制定商务应用基准程序的价格度量和标准规范,并依据这些基准测试项目客观性能数据。

现在流行的由TPC的基准程序有四种:

TPC-C:联机事务处理的基准测试。

TPC-H:针对数据仓库或决策支持系统的基准测试。

TPC-R:商业报告以及决策支持的基准测试。

TPC-W:基于事务处理的互联网电子商务的基准测试。

在TPC的所有基准测试当中,数据库性能测试主要涉及TPC-C基准测试。

3.2 TPC-C基准测试

TPC-C是专门针对联机交易处理系统(OLTP系统)的,它还适用于与数据库相关的整个服务器系统(包括硬件平台、操作系统和数据库系统)性能的测试,对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试。一般情况下我们也把这类系统称为业务处理系统。

TPC-C模拟了一个复杂的环境,大量的终端操作者可以在同一个数据库上频繁得执行各种事务。它建立了一个“销售-订购系统”的事务处理模型,其中包括:生成订单、分发订单、记录付款、订单查询、仓储查询。这个环境以新增订单事务为核心活动,其它事务包括在一个仓库范围内区域中进行的支付操作、订单状态查询、发货、库存水平查询。TPC-C的内容并不仅限于某个特定的商业运行环境,而是体现了任何一个可以管理,销售,分配产品及服务的通用的商业环境。国际事务处理委员会认为这种“销售-订购系统”代表了商务数据库处理的典型事务,用它来测量联机交易处理系统(OLTP)数据库性能具有普适性。

4 数据库性能测试工具构架的设计

该文提出了对数据库性能测试工具构架的设计,主要内容如下:

4.1 设计要求

可扩展:减少设计中的多余的代码和设计人员的重复劳动。

可控:由调度程序来控制构架的运作。

互通:在虚拟程序相互之间,在虚拟程序和调度之间必须可以互相协调完成对系统性能的测试。

可分布:如果一台计算机不能够产生足够多的数据库负载,需要把很多的虚拟程序分布在许多不同的计算机上,通过这种方式来取得足够多的数据库负载。