JMeter测试-jdbc请求

今天这篇主要是使用Jmeter测试数据库的性能。

在测试之前,需要准备数据库文件,即需要有一个table,本例中使用的是MySQL数据库,已有数据文件:testjmeter(database name)--> testjdbc(table name),主要操作是数据的删除、插入和查询。

一、打开Jmeter,首先需要添加JDBC Connection Configurations,

1. 添加步骤如下图:


[图1:右击测试计划-->添加-->配置元件-->JDBC Connection Configuration]


2. 添加完毕,需要对JDBC Connection Configuration进行配置,如下图:


[图2:JDBC Connection Configuration的配置,未红色标出的保持默认]


3. 接着建立线程组,因为这里有删除、插入和查询,而且删除用truncate只需要执行一次即可,所以可以是顺序删除 -->插入 -->查询,所以这里把删除的操作放在setUp Thread Group里,插入放在普通的线程组里,查询放在tearDown Thread Group里(注:truncate是删除表中所有数据,比delete删除的操作的更快).​

(1)truncate操作,在setUp Thread Group下建立JDBC Request,如图:


[图3:右击setUp Thread Group-->添加-->Sampler-->JDBC Request]



[图4:JDBC Request_truncate操作的设置]


(2)insert操作,在Group下建立JDBC Request(建立方法同图3),​


[图5:建立JDBC Request]



图6:函数助手的使用]


(3)select操作,在tearDown Thread Group下建立JDBC Request(建立方法同图3).


[图7:JDBC Request_select操作的设置]


(4)这里如果不需要设置postprocessor观察数据,可以直接添加监听器运行即可,但是这里又添加了一个后期处理器BeanShell PostProcessor。​用来把查询的结果显示在log上,​​


[图8:右击JDBC Request-->添加-->后期处理器-->BeanShell PostProcessor]



[图9:beanshell postprocessor的编写]


(5)点击运行,结果如图:


[图10:运行结果]


二、如果需要测试两个数据库里面的文件,只需要再添加一个JDBC Connection Configuration,再添加JDBC Request即可,注意JDBC Request里面的variable name一定要选择需要的数据库的JDBC Connection Configuration上面设置的Variable name。​

下面截图的数据文件:testjmeter(database name)--> Myclass(table name),不是不是同一个数据库,只需要改变数据配置中的数据库名字即可,这里示例的是同一个数据库,原理相同(其实只有不同的数据库时才需要不止一个JDBC Connection Configuration文件,如果属于同一个数据库,只需要在JDBC Request中把sql语句的表名改变即可)


[图11:第二个表的JDBC Connection Configuration的配置]



[图12:JDBC Request的配置,注意相对应的variable name]

今天这篇主要是使用Jmeter测试数据库的性能。

在测试之前,需要准备数据库文件,即需要有一个table,本例中使用的是MySQL数据库,已有数据文件:testjmeter(database name)--> testjdbc(table name),主要操作是数据的删除、插入和查询。

一、打开Jmeter,首先需要添加JDBC Connection Configurations,

1. 添加步骤如下图:


[图1:右击测试计划-->添加-->配置元件-->JDBC Connection Configuration]


2. 添加完毕,需要对JDBC Connection Configuration进行配置,如下图:


[图2:JDBC Connection Configuration的配置,未红色标出的保持默认]


3. 接着建立线程组,因为这里有删除、插入和查询,而且删除用truncate只需要执行一次即可,所以可以是顺序删除 -->插入 -->查询,所以这里把删除的操作放在setUp Thread Group里,插入放在普通的线程组里,查询放在tearDown Thread Group里(注:truncate是删除表中所有数据,比delete删除的操作的更快).​

(1)truncate操作,在setUp Thread Group下建立JDBC Request,如图:


[图3:右击setUp Thread Group-->添加-->Sampler-->JDBC Request]



[图4:JDBC Request_truncate操作的设置]


(2)insert操作,在Group下建立JDBC Request(建立方法同图3),​


[图5:建立JDBC Request]



图6:函数助手的使用]


(3)select操作,在tearDown Thread Group下建立JDBC Request(建立方法同图3).


[图7:JDBC Request_select操作的设置]


(4)这里如果不需要设置postprocessor观察数据,可以直接添加监听器运行即可,但是这里又添加了一个后期处理器BeanShell PostProcessor。​用来把查询的结果显示在log上,​​


[图8:右击JDBC Request-->添加-->后期处理器-->BeanShell PostProcessor]



[图9:beanshell postprocessor的编写]


(5)点击运行,结果如图:


[图10:运行结果]


二、如果需要测试两个数据库里面的文件,只需要再添加一个JDBC Connection Configuration,再添加JDBC Request即可,注意JDBC Request里面的variable name一定要选择需要的数据库的JDBC Connection Configuration上面设置的Variable name。​

下面截图的数据文件:testjmeter(database name)--> Myclass(table name),不是不是同一个数据库,只需要改变数据配置中的数据库名字即可,这里示例的是同一个数据库,原理相同(其实只有不同的数据库时才需要不止一个JDBC Connection Configuration文件,如果属于同一个数据库,只需要在JDBC Request中把sql语句的表名改变即可)


[图11:第二个表的JDBC Connection Configuration的配置]



[图12:JDBC Request的配置,注意相对应的variable name]

猜你喜欢

转载自blog.csdn.net/wudingmeng/article/details/85286759