优化数据库服务器性能的方法研究

时间:2022-10-16 08:44:11

优化数据库服务器性能的方法研究

摘 要 随着人们对客观世界认识的深入,产生的数据容量越来越大,形成的结构越来越复杂,数据库性能的要求也越来越高,因此对海量的数据进行有效的处理成为数据库领域的重要课题。本文简单介绍了数据库服务器性能测试的两个主要方面,分析了当前数据库服务器性能面临的缺陷,尝试用不同的方法提高数据库服务器的性能。对后续数据库服务器性能测试具有一定的借鉴作用。

【关键词】数据库服务器 性能 客户端

1 引言

如今,各种数据库系统处理的数据量越来越大,处理数据时遇到的问题也是方方面面,在网络应用环境中,数据库服务器负责处理来自客户端的操作申请,由于客户端的数目远大于服务器的数目,所以一般情况下,约束整个系统能力的主要因素是服务器的性能。此时,为了更好的满足用户的需要,提高自身产品的竞争力,提升数据库服务器的性能便显得尤为重要了。

本文以优化数据库服务器性能为研究方向。首先介绍了数据库服务器性能测试的基本原理,其次分析了数据库服务器在性能方面会遇到的瓶颈,然后通过分析,提出能够优化数据库服务器性能的方法应用于实际工作中,对后续工作起到一定辅助作用。

2 数据库服务器性能测试概述

性能测试是指全面了解自身系统在各种环境中遇到的问题后,通过编写执行代码,模拟各类正常或异常条件进行记录、分析和总结。

它是为了解决自身性能缺陷,优化数据库系统,达到客户使用满意度的必要环节。数据服务器性能测试主要从两个方面考虑,一个是大数据量测试,主要是针对对数据库有特殊要求的系统进行的测试,主要分为三种:

(1)实时大数据量:模拟用户工作时的实时大数据量,主要目的是测试用户较多或者某些业务产生较大数据量时,系统能否稳定地运行。

(2)极限状态下的测试:主要是测试系统使用一段时间即系统累积一定量的数据时,能否正常地运行业务。

(3)前面两种的结合:测试系统已经累积较大数据量时,一些实时产生较大数据量的模块能否稳定地工作。另一个是大容量的数据测试也是必须要考虑到的方面。通过在数据库空表中插入、选择、更新、删除一定量的数据进行跟踪,得出测试时间,内存占用情况等信息,最后分析数据库的性能情况。

3 数据库服务器性能面临的瓶颈

数据库服务器为客户应用提供服务,包括查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存取控制等。主要有IBM DB2,Microsoft SQL Server和Oracle,由于数据库服务器要处理大量频繁的随机I/O请求,并进行精密计算,因此影响其性能的硬件系统依次为:内存、硬盘、处理器、网络。

4 优化数据库服务器性能方法

数据库服务器主要是为客户提供查询、更新、索引等服务器,这样就需要对服务器的响应速度有较快要求。而数据存储在硬盘中,硬盘的读取速度直接影响着客户得到数据的快慢,处理器则对整个服务器有着至关重要的作用,而网络也是客户获取数据的途径,也不能忽视。因此,本文从以下几个方面进行讨论如何优化数据库服务器的性能。

4.1 提高虚拟内存

虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用内存。当物理内存不足时,操作系统会自动把一些驻留在内存中暂时不使用的内容转移到该硬盘上的虚拟内存中,以此释放更多空间给新的应用程序使用,所以虚拟内存的设置会影响到数据库服务器的性能。通常情况下,虚拟内存可设置为物理内存的2倍,但是如果在数据库服务器上配置了全文索引等功能的话,2倍的虚拟内存往往是不够的,可将虚拟内存配置为物理内存的3倍到4倍。但是虚拟内存并不是越大越好,如果设置成物理内存的十几倍,不仅浪费内存容量,同时对数据库性能的优化起不到实质作用。同时需要注意的是,严格按照2-4倍的倍数关系来设置也并不科学,我们可以根据系统的实际应用情况进行设置。

4.2 调整本地客户端的任务优先级

数据库在初始化过程中,本地客户端上完成大部分的任务。即使在后续维护中,出于某种原因仍然要在本地客户端上操作。在本地客户端上进行操作的时候,往往分为前台运行与后台运行。操作系统这么设计的本意是为了提高远程客户端的执行效率。如在远程客户端生成物料需求计划的时候,由于运算量比较大,其花费的时间可能比较久,如可能需要20分钟。为了提高工作效率,对于类似的作业,应用程序可以把这个运算放置在后台运行。之所以要把这个长时间运行的作业放置在后台,主要是为了让用户不用干等,可以先作其他事情。等到运行完成后,系统会自动把相关的结果返回给用户。

4.3 事务处理调优

数据库的日常运行过程中可能面临多个用户同时对数据库的并发操作带来数据不一致的问题,如:丢失更新、读错和不可重复读等。数据库应用程序将工作分为若干个事务进行处理,当一个事务执行时,它访问数据库并执行一些本地计算。开发人员可以假设每一个事务都会被隔离地执行,没有任何并发动作,这种对事务处理方式的保证也被称为原子性保证。因此,将事务切分成较小粒度可以提高服务器执行效率。

5 结论

数据库服务器在日常生活中应用越来越广泛和深入,提高数据库服务器性能能够提高工作效率,是十分必要的。本文通过介绍数据库服务器性能的测试方法,分析运行中会遇到的问题,分别从三个方面提出性能优化的措施,通过这些方面的措施,能够有效提升服务器的性能,对后续数据库服务器性能测试具有一定的借鉴作用。

参考文献

[1]钟芙蓉.数据库服务器性能测试方法的研究和实现[J].硅谷,2013.

[2]武欣,何畅译.Edward Whalen.SQL Server 2000性能调整技术指南[M].北京:机械工业出版社,2002.

作者单位

上海交通大学 电子信息与电气工程学院 上海市 200240

上一篇:一种键纹识别数学模型的研究与验证 下一篇:计算机虚拟技术在计算机教学中的应用探析