Jmeter 建立数据库测试计划
建立数据库测试计划(Building a Database Test Plan)
在本节中,将学习如何创建测试数据库服务器一个简单的测试计划。您将创建五十个用户向数据库服务器发送2个SQL请求。并且,使这些用户运行测试100次。所以,请求的总数是(50个用户)x(2个请求)x(重复100次)= 10’000个JDBC请求。要构建测试计划,您将使用以下元素: 线程组, JDBC请求,摘要报告。
此示例使用MySQL数据库驱动程序。要使用此驱动程序,它包含.jar文件(例如mysql-connector-java-XXX-bin.jar) 必须复制到JMeter ./lib 目录(有关详细信息,请参阅JMeter的Classpath)。
1 添加用户(Adding Users)
您要对每个JMeter测试计划执行的第一步是添加一个线程组元件。线程组告诉JMeter您想要模拟的用户数量,用户应发送请求的频率以及应发送的请求数量。 继续添加线程组元件,首先选择测试计划,单击鼠标右键获取 添加 菜单,然后选择 添加 → 线程组。
您现在应该看到“测试计划”下的“线程组”元件。如果没有看到该元件,则通过单击“测试计划”元件,从而展开“线程组”元件。
接下来,您需要修改默认属性。如果尚未选择它,请选择树中的线程组元件。您现在应该在JMeter窗口的右侧部分看到线程组控制面板

首先为我们的线程组提供更具描述性的名称。在名称字段中,输入:JDBC users。
您将需要有效的数据库,数据库表和对该表的用户级访问。在这里显示的例子中, 数据库是“guest_test”,表名是“vm_instance”。
接下来,将用户数增加到50个。
在下一个字段中,“Ramp-Up Period” 的值为10秒。此属性告诉JMeter启动每个用户需要多长时间。例如,如果您输入10秒的Ramp-Up Period时间,JMeter将在10秒之后完成所有用户的启动。所以,如果我们有50个用户和10秒的 Ramp-Up Period,则起始用户之间的延迟将是200毫秒(10秒/ 50个用户=每秒0.2个用户)。如果将值设置为0,那么JMeter将立即启动所有用户。
最后,在循环计数字段中输入值100。此属性告诉JMeter重复测试多少次。要让JMeter循环运行测试计划,请选中“永远”复选框。
在大多数应用程序中,您在控制面板中进行的更改必须点击确定按钮。但是,在JMeter中,控制面板会在您进行更改时自动保存您的更改。如果更改元素了名称,在离开控制面板后(例如,当选择另一个树形元件)时,系统将自动保存您的更改。

2 添加JDBC请求(Adding JDBC Requests)
现在我们已经定义了我们的用户组,现在是定义他们将要执行的任务的时候了。在本节中,您将指定要执行的JDBC请求。
首先选择“JDBC Users”元件。单击鼠标右键获取 “添加” 菜单,然后选择 添加 → 配置元素 → JDBC Connection Configuration 。然后,查看此控制面板(参见图6.3)。
设置以下字段(这些假设我们将使用名为“cloud”的MySQL数据库):
- 绑定到池的变量名(这里:myDatabase)。这需要唯一地标识配置。JDBC采样器使用它来标识要使用的配置。
- 数据库URL:jdbc:mysql://localhost:3306/guest_test
- JDBC驱动程序类:com.mysql.jdbc.Driver
- 用户名:数据库的用户名
- 密码:用户名密码
屏幕上的其他字段可以保留为默认值。
JMeter使用控制面板中指定的配置设置创建数据库连接池。该池在“变量名称”字段中的JDBC请求中引用。可以使用几个不同的JDBC配置元素,但它们必须具有唯一的名称。每个JDBC请求都必须引用JDBC配置池。多个JDBC请求可以引用同一个池。

再次选择JDBC Users元件。单击鼠标右键获取 “添加” 菜单,然后选择添加 → Sampler → JDBC Request。然后,选择此新元件以查看其控制面板。

在我们的测试计划中,我们将做出两个JDBC请求。第一个是选择所有“运行”VM实例,第二个是选择“展开”VM实例(显然,您应该将这些更改为适合您的特定数据库的示例)。这些如下所示。
JMeter按照您将它们添加到树中的顺序发送请求。
首先编辑以下属性:
- 在Name输入框中输入为:VM Running。
- Variable Name名称为:’myDatabase’(必须与JDBC Connection Configuration元件中Variable Name的命名保持相同)
- 输入SQL查询字符串字段。
- 在 Parameter values 输入框中输入:Running。
- 在 Parameter types 输入框中输入:VARCHAR。

接下来,添加第二个JDBC请求并编辑以下属性:
- 在Name输入框中填入:VM Expunging。
- 在Parameter values输入框中填入:Expunging。

3 添加监听器以查看/存储测试结果(Adding a Listener to View/Store the Test Results)
您需要添加到测试计划中的最后一个元件是 监听器。此元件负责将您的JDBC请求的所有结果存储在文件中并呈现结果。
选择 JDBC Users 元素并添加Summary Report 监听器(“ 添加 → 监听器” →“ Summary Report” )。
保存测试计划,并使用菜单 Run → Start 或 Ctrl + R 运行测试
监听器显示结果。

转载原文:http://www.testclass.net/jmeter/jmeter-doc-06/
Jmeter 建立数据库测试计划的更多相关文章
- Jmeter(六) - 从入门到精通 - 建立数据库测试计划(详解教程)
1.简介 在实际工作中,我们经常会听到数据库的性能和稳定性等等,这些有时候也需要测试工程师去评估和测试,因此这篇文章宏哥主要介绍了jmeter连接和创建数据库测试计划的过程,宏哥在文中通过示例和代码非 ...
- Jmeter(七) - 从入门到精通 - 建立数据库测试计划实战<MySQL数据库>(详解教程)
1.简介 在实际工作中,我们经常会听到数据库的性能和稳定性等等,这些有时候也需要测试工程师去评估和测试,上一篇文章宏哥主要介绍了jmeter连接和创建数据库测试计划的过程,宏哥在文中通过示例和代码非常 ...
- jmeter创建数据库测试计划
这个例子要:创建50个用户发送2个sql请求到数据库服务器, 也可设置用户重复执行100次,这样总的请求数=50*2*100 用到以下元素:thread group / jdbc request / ...
- JMeter 系列之—-02 创建数据库测试计划
Jmeter创建数据库测试计划,包括如下步骤: 1. 添加数据库jar包 使用不同的数据库,要引入不同的jar包.主要有两种方式: 方式1:直接将jar包复制到jmeter的lib目录 方式2:通过测 ...
- Jmeter建立一个扩展LDAP测试计划
Jmeter建立一个扩展LDAP测试计划 添加用户 第一步你想做的每一个JMeter测试计划是添加一个线程组元素. 线程组告诉JMeter的用户数量你想模拟,用户应该发送的次数 请求,他们应该发送的请 ...
- 使用JMeter创建数据库(Mysql)测试
我的环境:MySQL:mysql-essential-5.1.51-win32 jdbc驱动:我已经上传到csdn上一个:http://download.csdn.net/source/3451945 ...
- Jmeter之数据库性能测试
公司的**产品急待上线,但查询订单操作响应很慢,为了准确定位问题,特对几个大数据查询语句进行性能测试. 环境介绍:数据库用的MYSQL,采用分布式布置,本次单压测一台数据库服务器,查询待支付订单.待消 ...
- jmeter 获取数据库表数据作为参数
jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...
- jmeter操作数据库,分布式,在Linux上运行
jmeter操作数据库: 1.在测试计划中导入数据库jar包 2.添加链接数据库信息 3.mysql:jdc:mysql://192.168.1.116:3307/bugfree?allowMulti ...
随机推荐
- cocos2dx的addChild接口设计
addChild的几个重载函数挺容易用错的 主要是因为cocos2dx用来给游戏对象设置标签时,用的是整型而不是字符串 导致标签这个参数很容易和同样是使用整型的代表游戏对象的层级关系的参数混淆.
- 原创:MVC 5 实例教程(MvcMovieStore 新概念版:mvc5.0,EF6.01) - 4、创建数据上下文和数据实体模型
说明:MvcMovieStore项目已经发布上线,想了解最新版本功能请登录 MVC影视(MvcMovie.cn) 进行查阅.如需转载,请注明出处:http://www.cnblogs.com/Dodu ...
- PHP爬虫(3)PHP DOM开源代码里的大坑和字符编码
一.开源代码的问题 在PHP爬虫(2)中介绍了开源工程Sunra.PhpSimple.HtmlDomParser.在实际工作中发现一个问题,例如http://www.163.com的网页数据怎么也抓取 ...
- maven项目搜索依赖jar包顺序
local_repo > settings_profile_repo > pom_profile_repo > pom_repositories > setti ...
- django:multivaluedictkeyerror错误
查了一下,是因为获取前台数据时,用了request.POST[],改用request.POST.get()之后没有这个报错了 细节: request.POST是用来接受从前端表单中传过来的数据,比如用 ...
- [zepto]源码学习
$() : zepto选择器,与jquery选择器类似,但是不支持jquery的拓展css支持(:first,:eq,:last...) $("div")选择页面内的全部div元素 ...
- 记录一下显示Map<String, ArrayList<String>>中的ArrayList里的数据的操作
1.有以下数据: ArrayList<Employee> emp = new ArrayList<>(); emp.add(new Employee("zhang&q ...
- 自己从0开始学习Unity的笔记 VII (C#中类继承练习)
好久都没有写了.今天做了类继承的练习,做了一个小队,进行简单的判定. namespace 兵团建立练习 { class ServantBasics { public string name; //pr ...
- 虚拟化 - VMware
和VirtualBox一样,也需要关掉Hyper-V才能启动虚拟机,否则会报Guard的错误. 网络 [转]VMware网络连接模式-桥接.NAT以及仅主机模式的详细介绍和区别 桥接 就好像在局域网中 ...
- 再编写代码中报错:CS8107 C# 7.0 中不支持功能“xxxxxx”。请使用 7.1 或更高的语言版本。
解决方法:项目右键属性 ---> 生成 ---> 找到最下面的高级按钮,点击高级按钮 ---> 常规 ---> 语言版本 ---> 选择 C#最新次要版本,或者比当前版本 ...