Jmeter,数据库压力测试

本文介绍如何使用JMeter对MySQL数据库进行压力测试的过程,包括测试计划的创建、JDBC请求的配置、监听器的添加及常见问题的解决方法。

因工作需求,需对数据库进行压力测试

最开始使用研发写的Java代码进行测试,突然想到jmeter也可以对数据库进行压测,那为啥不自己研究一套方法出来呢。

于是网上搜索了一下关于如何对数据库进行压测的帖子,虽说遇到了一些问题,但最终还是解决了。

流程如下

首先,需确定待测的数据库是什么类型,我所测试的是mysql。

jmeter支持很多数据库,只需要更改对应的数据库驱动类和url。以下为整理到的数据库驱动类对应url。并且给出一个mysql数据库select的简单应用。如下:

一 不同数据库驱动类和对应的url:

Datebase

Driver class

Database URL

MySQL

com.mysql.jdbc.Driver

jdbc:mysql://host:port/{dbname}

PostgreSQL

org.postgresql.Driver

jdbc:postgresql:{dbname}

Oracle

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:user/pass@//host:port/service

Ingres (2006)

ingres.jdbc.IngresDriver

jdbc:ingres://host:port/db[;attr=value]

MSSQL

com.microsoft.sqlserver.jdbc.SQLServerDriver

或者

net.sourceforge.jtds.jdbc.Driver

jdbc:sqlserver://IP:1433;databaseName=DBname

或者

jdbc:jtds:sqlserver://localhost:1433/"+"library"

 

 

二、mysql的select语句压力测试案例:

 1、打开Jmeter,创建一个测试计划,添加线程组,如下:

 

2、为线程组添加一个JDBC请求:选中线程组->添加->Sampler->JDBC Request

   填写对应的测试语句,增删改查等在Query Type中设置。

 

3、添加jdbc配置元件:添加->配置元件->JDBC Connection Configuration

4、再添加一个监听器:察看结果数。点击运行,可以在察看结果数中察看运行的结果,绿色的代表通过。红色的有问题,需根据实际情况定位

 

三、过程中遇到的问题如下:

1JDBC的使用问题(运行错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver;  java.lang.ClassNotFoundException:com.mysql.jdbc.Driver)

resp:缺少jar包,下载后放到Jmeter目录下:apache-jmeter-2.13\lib,重启jmeter解决(没有重启前始终报错)

下载地址:https://dev.mysql.com/downloads/file/?id=476197

2、解决第一个问题后,执行,又遇到报错,com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; 

该错是因为SQL语句有问题,我的查询语句的表是中文字符的,因使用Oracle习惯性的加上单引号,结果没想到mysql不区分中英文,不用加引号,将单引号去除后就解决了。

转载于:https://www.cnblogs.com/zjn-20161215/p/8691465.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值