使用Apache JMeter进行SQL优化性能测试.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Apache JMeter进行SQL优化性能测试

一、 前言最近在公司里做性能测试,对于一张大概400万数据的表,进行全表扫描往往会比较费时,更不要说有若干这样的表格级联进行检索了。为了能够在不影响生产环境的前提下进行SQL的性能优化,需要首先利用测试工具模拟多用户并发的场景进行性能测试,确认有效之后再在生产环境上线。本文主要解决以下几个问题:没有LoadRunner的授权(太贵了),而且LoadRunner本身对初学者来说也太难了点。需要优化的SQL查询语句有变量参数,而且需要在并发中处理。用两种方式(SQL查询方式和HTTP方式)进行性能测试。二、测试环境说明JDK需要安装1.4版本以上的,我用的是JDK 1.7版。Apache JMeter用于执行性能测试。Oracle 10g数据库用于承载测试用的数据。Oracle Instant Client 12c用于SQL方式连接数据库的测试。Free Oracle Weblogic12c for Developers用于HTTP方式连接数据库的测试。下面首先介绍一下使用SQL方式进行测试的步骤。三、准备环境首先需要有一个可以使用的Oracle数据库环境。确认你的电脑是否已经安装了JDK,如果没有的话需要先安装一下。下载Apache JMeter,解压缩之后就可以用了。下载Oracle Instant Client 12c,解压缩之后,将ojdbc6.jar拷贝到JMeter目录下面的lib子目录下,这个是Oracle数据库的JDBC驱动。到这里,用于SQL方式测试的环境就已经都搭建好了。三、准备测试数据库1. 创建一个测试用的数据库CREATETABLE USER_INFO(user_namevarchar(255),address varchar(255),)在数据库中插入一些数据。INSERTINTO USER_INFO(user_name, address) values(张三, 北京)INSERTINTO USER_INFO(user_name, address) values(李四, 天津)INSERTINTO USER_INFO(user_name, address) values(王二, 上海)INSERTINTO USER_INFO(user_name, address) values(大胖, 重庆)INSERTINTO USER_INFO(user_name, address) values(小黑, 海南)2. 准备测试用的参数文件。CSV文件的内容如下:姓名,地址张三,北京李四,天津王二,上海大胖,重庆小黑,海南3. 在Windows的资源管理器中,进入JMeter的安装目录bin子目录下,运行jmeter.bat,即可打开jmeter的主界面。4. 设置测试计划在刚打开JMeter的时候,默认会存在两个节点:测试计划和工作台,点击“测试计划”,在右边的属性页面中,命名为“我的数据库测试计划”。在“测试计划”属性页的最下面,可以设置jar包所在的路径,这里设置为D:/apache-jmeter-2.10/lib,这个是我的机器中JMeter的lib目录,在这个例子中,Oracle的jdbc驱动也已经拷贝到该目录下。5. 创建线程组右键单击左侧的“我的数据库测试计划”,在弹出菜单中选择:添加-Threads(Users)-线程组,就会创建一个新的线程组。在右侧的属性界面中,将刚刚创建的线程组重命名为“SQL方式”。按照如下方式设置属性:Number of Threads一般我们用来表示多少个用户,即我们测试时的用户数量,这里设置为5。Ramp-Up Period(in seconds)表示每个用户启动的延迟时间。如果设置为5秒,表示系统将在5秒结束前启动我设置的5个用户;如果设置为10秒,那么系统将会在10秒结束前启动这5个用户,也就是启动用户的延迟为2秒;如果我设置为0秒,则表示立即启动所有用户。这里设置为5。Loop Count请求发生的重复次数。如果选择后面的forever(默认),那么请求将一直继续;如果不选择forever,而在输入框中输入数字,那么请求将重复指定的次数;如果输入1,那么请求将执行一次。这里设置为1。6. 创建JDBC连接右键单击左侧的“SQL方式”,在弹出的菜单中选择:添加-配置元件-JDBC Connection Configuration,就会创建一个新的JDBC连接。按照如下方式设置属性:Variable Name表示这个JDBC连接创建的连接池名字。这里设置为Oracle。Validation Query表示测试这个JDBC连接的语句。这里设置为“select 1 from dual”。Database URLJDBC连接字符串。因为我们要连接Oracle数据库,所以这里设

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档