加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据库服务器性能测试方法的研究和达成

发布时间:2021-06-26 12:33:55 所属栏目:大数据 来源:互联网
导读:1 数据库技术概述 客观世界的所有的信息在计算机上都是以数据的形式存放的,计算机完成各种任务的过程实际上就是对数据进行加工和处理的过程。随着人们对客观世界认识的深入,数据的容量越来越大,结构也越来越复杂,如何对海量的数据进行有效的分类、组织、
    1 数据库技术概述
 
 
    客观世界的所有的信息在计算机上都是以数据的形式存放的,计算机完成各种任务的过程实际上就是对数据进行加工和处理的过程。随着人们对客观世界认识的深入,数据的容量越来越大,结构也越来越复杂,如何对海量的数据进行有效的分类、组织、编码、存储、检索和维护已经成为计算机技术领域研究的重要课题,因此数据库技术近几年也成为了计算机领域内的研究热点。
 
 
    1.1桌面型数据库
 
 
    最初的数据库产品都是在应用在单机的环境中——桌面型数据库,规模比较小,不需要网络操作系统的支持,几乎不提供或者提供很少的网络应用功能,同时也没有或是有较弱的安全性方案,这些数据库系统的应用是范围较小的办公环境,优势是开发工具和数据库集成为一体,代表产品有微软的dbade,Foxbase,access等。
 
 
    1.2网络性数据库
 
 
    随着网络技术的发展,网络数据库应运而生,而且现在仍处于一个快速发展的阶段,其比之桌面的数据库系统有更多的优势。
 
 
    1)需要网络操作系统的支持。
 
 
    2)数据库系统的管理工具、前端开发工具和后台数据库是可以分离的,通常我们所说的网络数据库的管理系统是管理工具和后台数据库的总和。
 
 
    3)具有强大的网络功能和分布式功能,可以根据软硬件和网络环境的不同组合成各种工作模式。
 
 
    4)技术先进,支持超大规模数据库技术、并行查询、多线程服务器等。
 
 
    5)提供完备的数据安全方案,提供完善的数据库备份和恢复手段。
 
 
    典型的阿络数据库产品有微软的sql server系列,IBM的DB2系列,Sybase公司的sybase系列以及oracle公司的oracle系列,以上的几大产品占据了数据库市场的绝大部分。
 
[page]    2 数据库服务器性能测试的重要性
 
 
    在网络应用环境中,数据库服务器负责处理来自客户端的操作申请,由于客户端的数目大于服务器的数目,所以一般情况下,约束整个系统能力的主要因素是服务器的性能。所以这也就是数据库服务器成为大家主要关心的一个重要方面。
 
 
    由于数据库服务器在网络应用环境中的重要性,业界的硬件提供商和数据库产品的软件提供商,都希望知道自己所提供的产品是否可以很好地满足用户的需求,以及得到其潜在的抗压空间,这就使得数据库服务器性能测试显得尤为重要,经过一段时间的发展和融合,现在基本上形成了比较成熟的测试思想、方法以及测试的软件工具。
 
 
    现有的测试方法都是根据网络数据库的工作模式,通过搭建类似于实际应用的网络环境,然后再采用模拟实际的访问操作,然后对数据库服务器的统计信息汇总、分析。现在的网络数据库大致有以下2种工作模式。
 
 
    2.1 c/s模式
 
 
    通常的网络数据库都是采取的c/s T作模式,客户机向数据库服务器提出访问请求,该服务器负责数据库的各种操作,如图1所示。c/s模式的网络数据库在前端计算机上要安装专门的应用程序来操作后台数据库中的数据。前端应用程序可以完成计算和接受处理数据的工作,而后台的数据库服务器主要完成数据的管理工作。该模式特点就是速度较快,功能完备,缺点是维护升级不方便,主要是基于行业的数据库应用,如股票接收系统、邮局汇款等。
 
 
    2.2 B/S模式
 
 
    浏览器/中间应用层/数据库模式,3层结构,又成为瘦客户机模式,原理为:这种模式下客户机只需要安装浏览器软件,无需开发应用程序,这就是“瘦”的含义,中间层的Web应川服务器是连接前端客户机和后台数据库服务器的桥梁,主要的数据计算和应用都在此完成,因此对中间层服务器的要求较高,后台数据库服务器主要完成数据的管理,如图2所示:
 
    客户机/服务器模式示意图
 
    图1 客户机/服务器模式示意图
 
浏览器/服务器模式示意图
 
    图2 浏览器/服务器模式示意图
 
 
    基于此模式的web的网络数据库应用模式主要用于浏览,查询Internet/Intranet信息,受目前技术条件的限制,其功能较弱,但是由于面向的是不特定的用户,客户机无需维护和升级,因此,随着Internet的普及,B/s模式将越来越受到用A的欢迎,典型的例子网上定票、购物,就是电子商务的常用模式。
 
 
    基于对以上的数据库的工作原理分析,数据库的性能测试目前一般都是采用客户机/服务器的模式。[page]    3 现在的数据库服务器性能测试的缺陷
 
 
    现在的性能测试的工作框图如图3所示,从图3可以看出,测试思想是通过控制端的测试软件,在客户端和数据库服务器建立访问连接之后,控制客户端对数据库服务器的访问,根据测试的目的不同便可以得到数据库的相应的性能参数结果。一般有以下2种测试目的。
 
     现有数据库服务器的测试的框图
 
    图3 现有数据库服务器的测试的框图
 
 
    3.1单用户测试
 
 
    当希望知道数据库服务器对于单用户的相应特性时,就可以采用单用户的测试模式,让单个用户访问数据库服务器、运行数据库操作,通过控制端的定时信息得到相应时间、处理的时间等。
 
 
    3.2多用户测试
 
 
    当希望知道数据库服务器的最大的处理能力的时候,就可以采用多用户的测试模式,控制端控制多个客户机对数据库服务器的同时访问,并且逐步增加用户数,发现达到峰值的数目,便可以得到数据库的最大处理能力。
 
 
    以上的2种方法的测试,都可以通过设置被测数据库服务器系统的监视器变量,查看对性能约束比较大的因素,这就是系统的瓶颈所在,这样就可以对相应的硬件配置进行调优,或是对数据库的配置,设计以及规划或是查询的语句作出相应调整,以便使得数据库服务器的软硬件配置达到最优,使得系统的性能得到最大的发挥。
 
 
    现在采用的方法虽然有上述的各种优点,但是也存在着一定的不足,例如,采用的客户机访问的模式,访问的资源等都具有一定的固定性。比如一般的测试软件中客户机的访问模式,固定为几个典型的操作语句,比如对象的创建,记录的插入、删除、查询等,而且客户机会同时访问数据库的一个资源,这可能符合一种应用,但是却并没有代表性,并不能反映实际的数据库的应用情况。因此测试结果的指导意义大大折扣。下面就对该测试方法作一定的修改。
 
[page]    4 本文采用的方法的原理及优点
 
 
    本文采用了客户端随机访问模式的方法,以达到访问模式的随机化,以及访问资源的平均化,这样就更好地反映了实际的应用环境的要求和数据库的性能,有利于我们找到限制数据库的性能的因素,提供优化系统的重要信息。
 
 
    其工作原理如图4所示:
 
 
 
    本文提出的新的数据库服务器测试的示意图
 
    图4 本文提出的新的数据库服务器测试的示意图
 
 
    4.1框图分析
 
 
    从图4中可以看到,整个测试系统从功能上大体可以分解为4大模块:控制端、操作模式库、客户机、被测数据库服务器。当然各个部分之间在物理上可以为一个,比如控制端可以和模式操作库在同一台工作站,控制端可以和客户机是同一个工作站等等。
 
 
    1)控制端
 
 
    控制端主要负责对访问模式的选择、设置测试时的参数、设置被测试的数据库服务器的对象、对被测试服务器的监控和对测试所得到的结果信息、汇总、整理。
 
 
    2)操作模式库
 
 
    操作模式库中包含有用户定义的各种操作的方法,可以根据自己关心的方面,以及该系统在以后的实际的应用环境最可能出现的情况,对该库进行范围的划定,以期望达到即尽量减少不必要的操作,又不遗漏应该包含的内容。
 
 
    3)客户端
 
 
    客户端是对数据库服务器发出请求的一个应用程序的抽象,在期望的数目的客户端同时得到自己的访问模式后,开始发出对数据库服务器的访问请求,原则上一个物理的机器可以包含多个客户端,但是应该避免过多的情况,因为此时客户端所运行的物理机平台成为测试系统的约束。
 
 
    4)被测数据库服务器
 
 
    这里的被测试数据库服务器是一个数据库系统和硬件平台的总和,测试的目的包括对软件性能和硬件性能的综合评估,服务器在响应完客户端的操作请求后,控制端返回统计信息,供进一步分析给出服务器配置调整建议。
 
 
    4.2工作过程
 
 
    整个测试系统的工作过程为:
 
 
    1)控制端向操作模式库中发出模式选择请求;
 
 
    2)选择得到的随机访问模式提供给客户端;
 
 
    3)在多个客户端都得到模式信息后,统一的同步后,对数据库进行访问;
 
 
    4)控制端的监听程序,监听数据库服务器的运行状态,在检测到访问运行后执行下一步;
 
 
    5)从数据库服务器返回各种统计信息给控制端,供汇总分析。
 
 
    以上工作模式有效避免了以往测试的客户机访问模式和访问资源过于固定和集中的缺陷,实现了模式的随机化,访问资源的平均化,更接近于数据库服务器的现实的应用,改进了测试的效果。[page]    5 使用本文测试所得的结果及分析
 
 
    下面是采用文中的方法进行的一个实际的测试。
 
 
    具体的设定为:客户机的数目从1~400,步长为10,在模式库中包含了表的创建,表的删除,记录的插入、查询、删除,索引的创建、视图的创建等,而且创建的对象有包括大小不同的多种,包括了常见的数据库服务器会遇到的操作的种类。图5~8就是测试结果中的几个变量的对应关系图。
 
    用户数和平均响应时间关系图
 
    图5 用户数和平均响应时间关系图
 
用户数和最大响应时间关系图
 
    图6 用户数和最大响应时间关系图
 
 
 
    用户数和最小响应时间关系图
 
    图7 用户数和最小响应时间关系图
 
 
 
    用户数和服务器处理能力关系图
 
    图8 用户数和服务器处理能力关系图
 
 
    由图5,随着用户数的增加,数据库服务器的平均响应时间会增加,这也符合实际的情况。由图6和图7,在不同的用户数目的时候,用户响应时间最大值和最小值由于访问模式的不同的差异比较大。由图8可以看出:服务器的处理能力会随着用户数目的增加,很快的达到峰值,用户数再增加,处理能力稳中有降。这也说明了为什么相应的平均时间会逐渐增大。
 
 
    6 结论
 
 
    本文首先介绍了数据库技术在计算机技术中的重要地位,现有占主导地位的网络数据库的特点,分析了数据库性能测试的重要性;并且根据网络数据库的工作模式,分析了现有的测试方法的优点和缺点;并且提出了一种新的测试方法,最后实验结果表明该方法比较有效,起到了一定的效果,同时该方法也可以推广到其他的服务器的性能测试中去。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!