经过长时间学习Oracle性能测试,Oracle性能测试主要是模拟大量的sql语句操作,来对数据库服务器进行加压。这里和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。在测试前,需要准备以下要模拟的sql语句,测试脚本,并将测试控制机、测试加压机、被测数据库服务器准备妥当。

脚本协议选择Oracle(2-Tier),将所有要模拟的sql语句放在一个sql文件内,使用sql-plus来操作数据库载入,使用 loadrunner来录制。录制好之后就是修改脚本了,首先在vdf.h文件中定义变量(static void FAR * OraBind1;),定义参数(static LRD_VAR_DESC UID ={LRD_VAR_DESC_EYECAT, 1, 10, LRD_DBTYPE_Oracle, {1, 1, 0},DT_SF_STRIPPED_SPACES};)。

为什么要在这里定义而不直接只用参数化呢?因为那样会对加压机造成很大的压力,不利于测试。这里需要根据你的脚本来变化,你在脚本中使用了多少变量,多少参数,那么你就在要这里定义多少。接下来修改脚本的,将一次性的登陆登出放在init和end中,使用lrd_assign和 lrd_ora8_bind_placeholder命令替代参数,如

    lrd_ora8_stmt(OraStm6,"SELECTCOUNT(*)ascounterFROM*****WHERE***_id=" ":Uand(status=0or" "statusisnull)",1,0,0); lrd_assign(&UID,"{UID}","",0,0); lrd_ora8_bind_placeholder(OraStm6,&OraBind1,"U",&UID,0,0,0);

这样,脚本就差不多大功告成了。编译一下,没有问题就通过了^o^

将脚本放在控制机上,就可以开始加压了,注意的是,被测数据库服务器的各个参数配置要记录下来,以便修改参数调优时能分析清晰。记录下数据库的iops,time,tps和响应时间,结果汇总出报告。以上介绍Oracle性能测试。

【编辑推荐】

    讨论Oracle文档学习经验如何了解Oracle生成执行计划详细谈论Oracle表连接分析Oracle索引扫描四大类高手闲谈Oracle索引扫描