- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
使用loadrunner测试数据库性能plus-51testing
使用Loadrunner 测试数据库性能plus
之前写过一个文档,使用LR 通过JDBC 测试数据库性能,但那个文档主要介
绍的是在MyEclipse 里编写类后,在LR 中如何加载如何设置,此种方法有一定的
局限性,例如把写好的类放在LR 中调用,都是在action 中调用类的所有方法,
若方法中包含完整的建立连接和断开连接,每次迭代的时候就会不断重复这个操
作,既耗费资源,又耗费时间,对于要求高并发的测试场景,显然不是最好的办
法,因此重新考虑将java 的脚本直接放在LR 中进行编辑。
首先我们要明确一个问题,使用MyEclipse 编写类的手段仍然是不可或缺的,
因为LR 在编写JAVA 脚本时不能对其他脚本进行调用,如果需要外部方法,则必
须通过引入jar 的办法,所以如果LR 脚本里需要其他类和方法的支持,就必须提
前把这个class 通过import 的办法加载到这个脚本里。另外为了LR 使用,必须
使用J2EE 而不能使用J2SE ,因为虽然在验证效果上J2E E 和J2SE 都能体现java
功能和数据连接,但是发布的时候,J2EE 能够根据创建的包的层次,分别发布每
一个class 文件,而J2SE 则会把所有的class 发布在一个jar 里。
接下来我们开始准备LR 的编辑环境,当然脚本协议仍然是java vuser ,
1. 准备编辑环境
a) 引入lrapi.jar
打开编辑器之后,为了能有更多的java 编辑提示和引用提示,需要导入一个
jar 包。方法是,找到lr 系统安装目录下的classes 目录,(%loadrunner%\classes ),
里面有一个lrapi 目录,把这个目录完整复制到j2se 的一个项目里,然后把这个
j2se 工程发布成一个jar 包,最后再把这个jar 包import 到LR 脚本中。
其他需要的jar 包,例如jdbc 等,根据需要同样引入到环境中。
b) 调整jvm 参数
由于需要大量运行java 程序,所以为了避免出现堆错误和内存溢出,需要对
jvm 进行设置,根据运行位置的不同,共有3 个地方需要添加jvm 参数。
i. 在系统运行,需要修改系统环境变量,增加一个系统环境变
量JAVA_OPTS ,如图:
ii. 在lr 脚本调试时,编辑 “用户运行时”设置,如图:
注意选择指定的jdk (1.6)和添加VM 参数,参数内容:
-Xmx512m -Xms512m -Xmn200m -XX:PermSize=64m -Xss128k
iii. 在编辑lr 场景时,同样要设置ii 的内容,如图:
注意如果如图,每个脚本都是独立的,需要每个脚本各自设置。
编辑的内容和脚本调试时一样。
2. 编辑脚本
由于是在LR 的编辑器里编辑需要的内容,因此要充分发挥这个环境的特点,
在这个Actions 类中包含init(),action(),end()3 个方法,而和普通的http 协议一
样,也是init()和end()只执行一遍,action()会根据场景设置不断循环迭代,因此
为了提高执行效率减少jdbc 连接断开所产生的资源消耗,可以把创建连接和断
开连接写到init 和end 里,把具体的查询语句写到action 里。
首先需要在Actions 里建立公共变量:
接下来我们具体讲如何在init 里编写连接初始化,通过jdbc 连接数据库实际
上有两种办法,一个是使用DriverManager,一个是使用DataSource。
DriverManager:
Class.forName();
conn = (Connection)DriverManager.getConnection(url,user,pass);
这里得到了conn 属性,在action 中所有的查询都是使用这个连接属性。
DataSource:
PoolDataSource k = newPoolDataSource();
k.setHo
文档评论(0)