


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何用loadrunner录制sql server测试一个sql语句或存储过程的执行 LoadRunner本次通过loadRunner录制SQL Server介绍一下如何测试一个sql语句或存储过程的执行性能。主要分如下几个步骤完成:第一步、测试准备第二步、配置ODBC数据源第三步、录制SQL语句在Sql Server查询分析器中的运行过程第四步、优化录制脚本,设置事务第五步、改变查询数量级查看SQL语句的性能第六步、在controller中运行脚本下面开始具体的介绍:测试准备阶段我们首先要确认测试数据库服务器:我们可以在本地安装SQL SERVER数据库服务端及客户端,也可以确定一台装好的SQL SERVER服务器。接下来,准备测试数据:对数据库测试时我们要考虑的不是SQL语句是否能够正确执行,而是在某数量级的情况下SQL语句的执行效率及数据库服务的运行情况,所以我们分别准备不同数量级的测试数据,即根据实际的业务情况预估数据库中的记录数,在本次讲解中我们不考虑业务逻辑也不考虑数据表之间的关系,我们只建立一张表,并向此表中加入不同数量级的数据,如分别加入1000条、10000条、50000条、100000条数据查看某SQL语句的执行效率。在查询分析器中运行如下脚本:-创建测试数据库create database loadrunner_test;use loadrunner_test-创建测试数据表create table test_table(username varchar(50),sex int,age int,address varchar(100),post int)-通过一段程序插入不同数量级的记录,具体的语法在这里就不多说了declare i intset i=0while i1000 /循环1000次,可以根据测试数据情况改变插入条数beginBEGIN TRAN T1insert into test_table (username,sex,age,address,post) values (户瑞海+cast(i as varchar),i-1,i+1,北京市和平里+cast(i as varchar)+号,123456);IF ERROR 0beginrollback;select errorendelsebegincommit;set i = i+1endend好了,执行完上述语句后,建立的数据表中已经有1000条记录了,下面进行第二步的操作,配置ODBC数据源,为了能让loadrunner能够通过ODBC协议连接到我们建立的SQL SERVER数据库,我们需要在本机上建立ODBC数据源,建立方法如下:控制面板性能和维护管理工具数据源(ODBC)-添加,在列表中选择SQL SERVER点击完成,根据向导输入数据源名称,链接的服务器,下一步,输入链接数据库的用户名和密码,更改链接的数据库,完成ODBC的配置,如果配置正确的话,在最后一步点击“测试数据源”,会弹出测试成功的提示。配置好ODBC数据源后就要录制SQL语句在查询分析器中的执行过程了:1、 打开loadrunner,选择ODBC协议2、 在start recording中的application type 选择win32 application;program to record中录入SQL SERVER查询分析器的路径“.安装目录isqlw.exe”3、 开始录制,首先通过查询分析器登录SQL SERVER,在打开的查询分析器窗口中输入要测试的SQL语句,如“select * from test_table;”4、 在查询分析器中执行该语句,执行完成后,结束录制好了,现在就可以看到loadrunner生成的脚本了(由于脚本过长,在这里就不粘贴了,有需要的朋友可以加我QQ,我把脚本发给你们),通过这些语句,我们可以看出,登录数据库的过程、执行SQL语句的过程。接下来,我们来优化脚本,我们分别为数据库登录部分和执行SQL语句的部分加一个事物,在增加一个double的变量获取事务执行时间,简单内容如下:Action() double trans_time; /定义一个double型变量用来保存事务执行时间lr_start_transaction(sqserver_login); /设置登录事务的开始lrd_init(&InitInfo, DBTypeVersion); /初始化链接(下面的都是loadrunner生成的脚本了,大家可以通过帮助查到每个函数的意思)lrd_open_context(&Ctx1, LRD_DBTYPE_ODBC, 0, 0, 0);lrd_db_option(Ctx1, OT_ODBC_OV_ODBC3, 0, 0);lrd_alloc_connection(&Con1, LRD_DBTYPE_ODBC, Ctx1, 0 /*Unused*/, 0);trans_time=lr_get_transaction_duration( sqserver_login ); /获得登录数据库的时间lr_output_message(sqserver_login事务耗时 %f 秒, trans_time); /输出该时间lr_end_transaction(sqserver_login, LR_AUTO); /结束登录事务lr_start_transaction(start_select);/开始查询事务lrd_cancel(0, Csr2, 0 /*Unused*/, 0);lrd_stmt(Csr2, select * from test_table;rn, -1, 1, 0 /*None*/, 0);/此句为执行的SQLlrd_bind_cols(Csr2, BCInfo_D42, 0);lrd_fetch(Csr2, -10, 1, 0, PrintRow24, 0);.trans_time=lr_get_transaction_duration( start_select ); /获得该SQL的执行时间lr_output_message(start_select事务耗时 %f 秒, trans_time); /输出该时间lr_end_transaction(start_select, LR_AUTO); /结束查询事务优化后,在执行上述脚本后,就可以得到登录到数据库的时间及运行select * from test_table这条语句的时间了,当然我们也可以根据实际情况对该条语句进行参数化,可以测试多条语句的执行时间,也可以将该语句改为调用存储过程的语句来测试存储过程的运行时间。接下来把该脚本在controller中运行,设置虚拟用户数,设置集合点,这些操作我就不说了,但是值得注意的是,没有Mercury 授权的SQL SERVER用户license,在运行该脚本时回报错,提示“You do not have a license for this Vuser type.Please contact Mercury Interactive to renew your license.”我们公司穷啊买不起loadrunner,所以我也无法继续试验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高端系统门窗合同范本
- 房产采购家电合同范本
- 外贸劳务英文合同范本
- 咳嗽变异性哮喘雾化吸入护理查房
- 包子店劳务合同范本
- 毛坯租房合同范本
- 模具快速原型制作合同
- 房屋自动延续合同范本
- 装卸及安装合同范本
- 地瓜基地采购合同范本
- 膀胱灌注的护理课件
- 桥梁安全保护区管理制度
- 学堂在线 大学生国家安全教育 章节测试答案
- 2025至2030中国增强型飞行视觉系统行业发展趋势分析与未来投资战略咨询研究报告
- 华文版二年级上册-写字-书法
- 学堂在线 数据结构(上) 章节测试答案
- 安全文明生产的保证措施
- 车辆运输安全培训
- 工贸企业安全培训课件
- 长沙市太平街、西文庙坪历史文化街区保护提升项目可行性研究报告
- 业绩分红方案(3篇)
评论
0/150
提交评论