jmeter数据库负载测试_JMeter:负载测试关系数据库
jmeter数据库负载测试
我将向您展示使用JMeter的图形用户界面设置测试方案有多么容易。 但是在深入探讨细节之前,让我们先介绍一下基本术语:
测试计划 :描述测试方案
线程组 :代表运行您的测试方案的用户。
样本 :一种发送请求和等待响应的方式。 HTTP请求,JDBC请求,SOAP / XML-RPC请求和Java对象请求是示例示例。 逻辑控制器 :用于自定义JMeter用于决定何时发送请求的逻辑 侦听器 :接收测试结果并显示报告。 计时器 :导致JMeter在线程发出的每个请求之前延迟一定的时间。 断言 :测试应用程序是否返回预期的响应
注意 : 这篇文章并不是JMeter的替代文档。 JMeter的文档很好。 您可以在其用户手册(http://jakarta.apache.org/jmeter/usermanual/index.html)中找到详细信息。假设我们有一个应用程序可以将每个事务记录到关系数据库中。我们将创建一个测试计划–循序渐进–为了回答以下问题。
- 一秒钟内可以将几笔交易记录插入到交易表中?
- 将单个交易记录插入交易表需要多少时间?
- 并发线程数(用户)如何影响插入/秒数和平均响应时间?
- 记录数如何影响插入/秒数和平均响应时间?
第1步
将mysql jdbc驱动程序复制到JMeter安装的lib文件夹中。 JMeter在类路径中需要合适的jdbc驱动程序来连接数据库。
Example ~/tools/jakarta-jmeter-2.3.4/lib/mysql-connector-java-5.0.5.jar
我们将把客户的订单和订单结果存储在交易表中。
CREATE TABLE transactions (id INT NOT NULL AUTO_INCREMENT,customer_id INT NOT NULL,order_id INT NOT NULL,result INT,PRIMARY KEY (id)
);
第2步
创建一个测试计划,并将其命名为“ Test MYSQL DB”。 然后将以下jmeter组件添加到测试计划中。
- 名为“数据库用户”的线程组
- JDBC请求类型的采样器
- JDBC连接配置类型的Config元素
- 类型为“ 随机变量”的三个配置元素
- 摘要报告类型的侦听器
添加这些组件后,JMeter测试计划如下图所示。
第三步
配置数据库用户。 线程组组件模拟数据库用户。
1.用户数(线程)
2.用户将发送请求多少次(循环计数)。 如果选择'Forever' ,则线程将在while(true){…}循环中运行,直到您决定停止测试为止。
第4步
配置JDBC连接池。 JDBC连接配置组件用于创建jdbc连接池。 数据库URL,jdbc驱动程序,数据库用户和密码均使用此组件进行配置。 连接池由“变量名称”标识。 JDBC采样器(请求)使用此变量名称(连接池名称)来弹出和推送连接。 我将测试连接池命名为“我的数据库池”
第5步
定义将在INSERT语句中使用的随机变量。 在此测试中,我使用了三个随机变量: 用户ID,订单ID和结果 。 下图显示了用户ID的随机数配置。 随机数生成器将为我们提供1到1000000之间的随机整数。我们可以使用名称user_id来引用生成的随机数。
第6步
JDBC Request组件是我们告诉用户(线程)要做什么的地方。 在步骤3 “我的数据库池”中配置的池的名称将用作“绑定到池的变量名称” 。 所有线程将执行准备好的语句。 用户ID,订单ID和结果将由随机数配置器生成(在步骤5中进行描述)
步骤7
现在,我们已将线程配置为将事务记录插入到事务表中。 在最后一步中,我们将添加摘要报告类型的侦听器,以查看测试结果。
结果告诉我们,在无限循环中工作的10个并发用户(线程)可以在我们的事务表中插入近3300行。 插入行所花费的平均时间为2毫秒。 您也可以选择“图形结果”侦听器以查看结果的直观表示。
我创建并运行了一个简单的数据库测试计划。 希望这篇文章对您有所帮助。 谨记这一座右铭
如果无法衡量,就无法管理也无法改善
测试愉快...
参考: 使用我们的JCG合作伙伴 Ilkin Ulas的JMeter进行负载测试关系数据库 , 所有您的博客都属于我们博客。
翻译自: https://www.javacodegeeks.com/2012/04/jmeter-load-testing-relational.html
jmeter数据库负载测试
jmeter数据库负载测试_JMeter:负载测试关系数据库相关推荐
- jmeter 高并发测试报告_JMeter分布式测试
一.为什么要使用分布式测试 按照一般的压力机配置,jmeter的GUI模式下(Windows),最多支持300左右的模拟请求线程,再大的话,容易造成卡顿.无响应等情况,这是限于jmeter其本身的机制 ...
- 性能测试——JMeter脚本录制和HTTP负载测试
实验目的 (1)了解Jmeter性能测试工具的用途和简单的操作: (2)掌握Jmeter性能测试工具测试过程: (3)能够使用Jmeter进行负载测试: 实验步骤 使用Jmeter对MercuryTo ...
- 性能测试、负载测试、压力测试的区别
转载自:https://www.cnblogs.com/Bonnieh/p/5826773.html 性能测试(Performance Testing):是通过自动化的测试工具模拟多种正常.峰值以及异 ...
- 性能测试,负载测试,压力测试以及容量测试的联系与区别--网搜及总结
1.负载测试,英文是Load testing. 负载测试是性能测试的一种,测试一个应用在重负荷下的表现.例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败,以发现设计上的错误或验证系 ...
- 性能测试、负载测试以及压力测试
为什么80%的码农都做不了架构师?>>> 根据产品的时间特性和资源特性,效率测试可以包括不同的测试类型,例如:性能测试.负载测试和压力测试.本文则主要介绍这三种测试,希望对你有帮助, ...
- 性能测试,负载测试,压力测试有什么区别
性能测试,负载测试,压力测试有什么区别 性能测试(或称多用户并发性能测试).负载测试.强度测试.容量测试是性能测试领域里的几个方面,但是概念很容易混淆.下面将几个概念进行介绍. 性能测试(Perfor ...
- 性能测试vs负载测试vs压力测试
下面我们主要介绍性能测试.负载测试和压力测试. 效率作为ISO 9126内部和外部质量的重要质量属性之一,其含义是在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力.资源可能包括其他软 ...
- 压力测试和负载测试区别_如何理解与区分软件性能测试、负载测试、稳定性测试、压力测试...
性能测试.负载测试.稳定性测试.压力测试之间有何区别?刚开始自己也不能很好的区分,随着一些具体性能测试实践的开展,大概有一个基本的认识,总结如下: 首先,大致了解下软件产品的性能受哪些因素的影响 我们 ...
- 性能测试, 压力测试 , 负载测试和 容量测试 的区别与联系
负载测试(Load Test).压力测试(Stress Test).容量测试(Capability Test)与性能测试(Performance Test)是相互关系? 性能测试包括负载测试.压力测试 ...
最新文章
- 链表类型题目需要用到的头文件list.h
- 太空乱游等待服务器响应,太空乱游(单机+联机)
- golang 系统调用 syscall 简介
- 一步一步SharePoint 2007之十四:实现Form认证(4)——创建管理帐户
- Java虚拟机学习(2):垃圾收集算法
- Javascript:通过服务器相对路径下载文件到本地
- tplink连接服务器失败_TPLINK无线路由WDS(桥接)设置方法图解教程 距离远增强wifi信号...
- OGRE实现纸娃娃系统
- [4.6]-AutoSAR零基础学习-CAN通信协议
- 复制错误:安装程序无法复制文件 Atapi.sys
- 过来-神秘的Word域代码
- 基于ATTiny85的digispark Arduino最小系统的自制教程(二)
- [转]抽象基类与接口,共性与个性的选择!
- 计算机二级java邓伦单_全国计算机等级考试计算机基础及Photoshop应用试题答案(2)...
- Spark rdd之sortBy
- MBR和GUID区别
- java开发抖音短视频无水印下载工具
- 停车场门禁控制系统的状态机
- python京东注册机_Python实现京东自动登录
- Android系统小知识