数据库服务器性能测试 性能测试工具
数据服务器性能测试主要从两个方面考虑,一个是大数据量测试,另一个是大容量的数据测试。
1大数据量测试
数据库的容量是表征数据库服务器性能的~个重要标准,在测试中,当太数据量在数据库中存在时,系统的性能肯定会受到影响,合理的数据库服务器管理程序以及数据库结构将会将这种变化降低到晟小,例如在大数据量(成千上万、几十万条记录)处理时,通过数据库表的索引定义、数据库表空间、log太小将会赢接影响到数据库的存储,检索性能和速度,另外,数据库服务器的cPu占用率也会受到影响,在数据库服务器上,不应该由于这样的操作导致数据库系统的负荷超载甚至崩溃。 例如有这样一个查阅书籍销量的Wel)程序,使用B/s结构,用户可以通过浏览器页面来访问Web服务器,Web服务器从另外的Linux上的omcle数据库服务器上读取数据,页面上显示所有当天/当月的售书信息,其袁结构如表9一l所示。
进行数据库性能测试时,需要使用一个自己编写的工具软件来动态给数据库加压,从不同的数据量和执行的语句,来测试数据库的执行速度,必要时甚至需要钡4试cPU,内存占用率等。可以进行如下测试设计:
· 所有页面可能提交sQL语句跟踪,例如我们可以通过工具来取得执行每个页面刷新或者新链接以及其他操作(删除,排序等)的SOL语句,例如“select+from
sak棚)OOKl SInfow}lere”(页面用户操作的时间和排序条件)。
· 通过向数据库里面批量加入适当的满足条件的语句。
· 执行操作,通过监控程序来获取执行速度,进程占用cPu和内存信息以及其他我们需要分析的信息,在oracle系统中,我们可以使用oracle本身自带的性能诊断工具,如statsoack,ExplainPlan或者v$视图来跟踪和获取对I/O,Memory,cache 的访问以做出性能诊断。
· 获取测试结果,找到数据库结构或者程序需要优化的地方。
· 在本例中,我们可以使用oracle本身提供的sOL PLus工具来实现执行速度的跟踪(set timing on),然后输出(sp001)到一个指定的文件里面,获取执行每一个
SQL的CPU占用或者内存占用情况(top命令),最后形成Excel表格·如表9。2所示。
2大容量数据测试
在数据库性能测试过程中,还需要考虑大容量数据测试。例如在测试中,我们可以使用带有视频、图片的数据.假设做这样的钡0试,在数据库中插入1000个图片文件·每个图片文件的太小为4MB,这样,数据库在插入这些数据后的容量为1000X4MB=4000MB=4GB,我们可以通过在空表中插入(insert)1000条数据,选择(select)900条数据、更新(update)900条数据、删除(Delete)900条数据这样一个过程来进行测试,跟踪所需要的时间、进程占用的CPU及内存信息等,最后得出结果、形成表格,从而分析数据库的性能情况。
数据库容量和性能测试是至关重要的,不台理的表结构以及程序中不合理的代码将使数据库的性能降低,甚至崩溃,因此,性能测试为数据库的优化过程提供了指导方向。同时,数据库的性能测试和调优是一个非常复杂的课题,针对不同的数据库平台,不同的系统特性,测试方法和手段也不尽相同,数据库的性能测试需要和整个系统应用结合起来进行。
文章来源于领测软件测试网 https://www.ltesting.net/