jmeter数据库负载测试_JMeter:负载测试关系数据库

jmeter数据库负载测试

Apache JMeter是完全使用Java编写的性能测试工具。 可以在请求/响应模型上运行的任何应用程序都可以使用JMeter进行负载测试。 关系数据库也不例外:接收sql查询,执行查询并返回执行结果。

我将向您展示使用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组件添加到测试计划中。

  1. 名为“数据库用户”的线程组
  2. JDBC请求类型的采样器
  3. JDBC连接配置类型的Config元素
  4. 类型为“ 随机变量”的三个配置元素
  5. 摘要报告类型的侦听器

添加这些组件后,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数据库负载测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值