jmeter对数据库进行简单的压测
1、点击测试计划,再点击“浏览”,把JDBC驱动添加进来:
注:JDBC驱动一般的位置在java的安装地址下,路径类似于: \java\jre\lib\ext
文件为:mysql-connector-java-5.1.39-bin.jar
没有这个文件的话,可以去网上下载,然后放到上面的路径下;也可以把驱动放到 jmter-bin 目录下。
2、添加一个线程组,命名为”连接mysql”,设置线程数、启动时间、循环次数:

3、右键点击“连接mysql”,再添加一个配置元件:JDBC Connection Configuration

配置该元件----JDBC Connection Configuration:注意 :select 1 s可以大写,但必须空格1,否则报错,还有查询的格式要正确
相关参数
select 1
# ? 后拼接的参数为 编码(增改会涉及到编码的问题) & 允许执行多条sql
jdbc:mysql://localhost:3306/test1907?characterEncoding=utf-8&allowMultiQueries=true
com.mysql.jdbc.Driver
root
root
除了test1907是数据库名,其他都是固定写法。

4、右键点击“连接mysql”,再添加一个采样器:JDBC request

配置该采样器:
Query Type选择
Query Type选择不当会报下面的错误:
Can not issue data manipulation statements with executeQuery().
(1)Select Statement------执行select语句,且只执行一条
(2)Update statement------执行insert、update、delete语句,且只执行一条(插入、修改、删除)
(3)callable Statement------sql语句有变量,以及多条 的时候选择
(4)prepared select statement ------ (欲状态通道) 执行select语句,执行多条。
(5)prepared update statement ------ (欲状态通道) 执行insert、update、delete语句,执行多条。
(6)commit ------ 提交
(7)rollback------回滚
(8)auto commit(F) ------ 自动提交,默认为false


select * from student where sno =108;
查询语句中的where条件可以使用 用户定义的变量 (或csv文件) 批量实现
select * from student where sno = ${sno};
欲状态通道的处理方法

当然,参数值可以使用常量,如108,也可以使用变量,如${sno1},
这就需要我们添加一个用户定义的变量


以上两张图之间的变量指针关系如下:
?------>${sno1}------>son1------>105
?------>${sno2}------>son2------>108
5、添加监听器,添加一个图形结果,一个查看结果树,一个聚合报告:

6、运行,并查看结果:



**********************************************************************
八JMeter对Oracle数据库进行压力测试
(6) 在Database Connection Configuration输入数据库配置信息
例如:Database URL: jdbc:oracle:thin:@192.168.1.168:1521:ptoracl
格式为:Database Url:连接postgresql的配置,格式:jdbc:postgresql://ip:port/dbname,如 jdbc:postgresql://10.21.11.11:5432/testdb
这个地方要注意一下,如果没有jar包或jar包的版本不对,会提示“could not load 'org.postgresql.Driver'”。
根据自己机器安装的jdk版本(如我的是1.8.1,下载JDBC4.2的版本),下载对应版本的jar包,如果下载版本不对,可能会出现上述错误。
十、mysql数据的配置:

十一,mysql 插入数据:


十二、mysql参数化:

十三:数据库驱动类和URL格式:列如mysql:jdbc:mysql://localhost:3306/jmeter ip加端口号和数据库
|
数据库 |
驾驶员等级 |
数据库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:@//host:port/service OR jdbc:oracle:thin:@(description=(address=(host={mc-name}) (protocol=tcp)(port={port-no}))(connect_data=(sid={sid}))) |
|
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:port;databaseName=DBname 或者 jdbc:jtds:sqlserver://localhost:1433/"+"library" |
jmeter对数据库进行简单的压测的更多相关文章
- 软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选
一.JMeter 如何通过自定义Sample来压测RPC服务 RPC(Remote Procedure Call)俗称远程过程调用,是常用的一种高效的服务调用方式,也是性能压测时经常遇到的一种服务调用 ...
- Jmeter 在linux下的分布式压测
Jmeter 在linux下的分布式压测 0.将 windows机器作为master 控制机(同时也兼做负载机slave), linux机器作为 负载机 slave. 1.linux环境安装 : (1 ...
- jmeter做简单的压测
一.JMeter概述jmeter除了可以做借口测试外,还可以做压力测试:首先介绍jmeter中各个组件在压力测试中扮演的角色 1)线程(Threads(Users))即虚拟用户,线程组里可设置需要模拟 ...
- jmeter简单的压测案例——访问百度并发5,持续请求15
好记性不如烂笔头,还是记记吧. jmeter压测的指标有很多,先从简单的入手,下一章节再讲解jmeter组件的作用. 需求是:访问百度的压测指标是:10s内并发5,持续15次请求.那么需要设置以下几点 ...
- 使用jmeter做简单的压测(检查点、负载设置、聚合报告)
1.添加断言(检查点) 在需要压测的接口下添加--断言--响应断言,取接口响应中包含有的数据即可 检查点HTTP请求-->断言-->响应断言1.名称.注释2.Apply to//作用于哪里 ...
- JMeter压力测试,http请求压测,5分钟让你学会如何压测接口!
JMeter压力测试 官网:https://jmeter.apache.org 最新款的jmeter需要java8的支持,所以请自行安装jdk8.这里就不啰嗦了. 可以根据自己的系统下载zip或者是t ...
- 【JMeter】JMeter完成一个java请求的压测
先定义一下我说的remoteService:即远程调用服务,没有http的url.不对外提供或者对外提供有限的服务.具体视各公司的代码架构所定,比如有些公司为web工程,scf服务,db.scf即为服 ...
- 【JMeter】(3)---MySQL压测
JMeter---MySQL压测 一.添加MySQL驱动jar包 在测试计划(Test Plan)页面添加jar包 二.添加MySQL连接配置 添加线程组右击-->添加(add)-->配置 ...
- 【JMeter】(2)---HTTP压测
JMeter---HTTP压测 一.创建线程组 右击-->添加-->Threads(Users)-->线程组 下面对比较重要的几个参数,讲解下: 名称: 就是给你这个线程组起名字. ...
随机推荐
- 你以为只有马云会灌鸡汤?Linux 命令行也会!
你以为只有马云会灌鸡汤?Linux 命令行也会! "Linux 太南了o(╥﹏╥)o","我累了不想奋斗了o(︶︿︶)o"... 不知道你有没有想过,在你快丧失 ...
- 约瑟夫环(超好的代码存档)--19--约瑟夫环--LeetCode面试题62(圆圈最后剩下的数字)
圆圈中最后剩下的数字 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0 ...
- Git常用目录
Git常用目录 // 初始化Git仓库 $ git init // 将代码添加到暂存区中 $ git add . // 将代码保存到仓库中 $ git commit -m "保存的说明&qu ...
- 什么,容器太多操作不过来?我选择Docker Compose梭哈
接上一篇:面试官:你说你精通 Docker,那你来详细说说 Dockerfile 吧 一.容器之间通信 1.单向通信 1.1.什么意思 mysql和tomcat是两个独立的容器,但是tomcat需要和 ...
- 慕零的黑夜-头条-第二期(CSDN)[导读:] CSDN的15个bug&用户意见(很大) 作者:qq3461896724
首先介绍CSDN: 相信"金山词霸,金山打字通"许多人都用过,而金山副总监 创办了 "全球最大中文IT技术平台,成就一亿技术人"的CSDN(Chinese s ...
- 树莓派 Ubuntu Mate更换中国软件源
更换步骤: 1.以root身份打开 /etc/apt/sources.list ,可以用vim或者nano 2.将 http://ports.ubuntu.com/ 全部替换为 http://mirr ...
- 手把手教你学numpy,从此数据处理不再慌【三】
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是numpy专题的第三篇,我们来聊聊numpy当中的索引. 上篇的末尾其实我们简单地提到了索引,但是没有过多深入.没有过多深入的原因也很 ...
- 关于ueditor编译器
取消自动保存提示.edui-editor-messageholder.edui-default{ visibility:hidden;} Qiyuwen 1033935470@qq.com
- display有哪些值?说明他们的作用?
inline(默认)— 内联 none — 隐藏 block — 显示.块级元素(单独占一行) inline-block — 行内块元素(不占整行) table — 表格显示 list-item — ...
- Java实现 LeetCode 630 课程表 III(大小堆)
630. 课程表 III 这里有 n 门不同的在线课程,他们按从 1 到 n 编号.每一门课程有一定的持续上课时间(课程时间)t 以及关闭时间第 d 天.一门课要持续学习 t 天直到第 d 天时要完成 ...