6. 构建数据库测试计划

在本节中,您将学习如何创建一个基本的 测试计划来测试数据库服务器。您将创建 50 个向数据库服务器发送 2 个 SQL 请求的用户。此外,您将告诉用户运行他们的测试 100 次。因此,请求总数为(50 个用户)x(2 个请求)x(重复 100 次)= 10'000 个 JDBC 请求。要构建测试计划,您将使用以下元素: 线程组JDBC 请求摘要报告

此示例使用 MySQL 数据库驱动程序。要使用此驱动程序,必须将其包含的.jar文件(例如mysql-connector-java-XXX-bin.jar)复制到 JMeter ./lib目录( 有关详细信息,请参阅JMeter 的类路径)。

6.1 添加用户

您想要对每个 JMeter 测试计划执行的第一步是添加一个 线程组元素。线程组告诉 JMeter 你想模拟的用户数量,用户应该多久发送一次请求,以及他们应该发送多少请求。

继续添加 ThreadGroup 元素,首先选择 Test Plan,单击鼠标右键以获取Add菜单,然后选择 Add  →  ThreadGroup

您现在应该在测试计划下看到线程组元素。如果您没有看到该元素,则通过单击“测试计划”元素展开“测试计划”树。

接下来,您需要修改默认属性。如果尚未选择树中的线程组元素,请选择它。您现在应该在 JMeter 窗口的右侧看到线程组控制面板(参见下面的图 6.1)


图 6.1。 具有默认值的线程组
图 6.1。具有默认值的线程组

首先为我们的线程组提供一个更具描述性的名称。在名称字段中,输入JDBC Users

您将需要一个有效的数据库、数据库表和对该表的用户级访问权限。在此处显示的示例中,数据库是“ cloud ”,表名是“ 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 将立即启动您的所有用户。

最后,在 Loop Count 字段中输入值100 。此属性告诉 JMeter 重复测试多少次。要让 JMeter 重复运行您的测试计划,请选中 Forever 复选框。

在大多数应用程序中,您必须手动接受您在控制面板中所做的更改。但是,在 JMeter 中,控制面板会在您进行更改时自动接受您的更改。如果更改元素的名称,则在离开控制面板后(例如,选择另一个树元素时),将用新文本更新树。

有关已完成的 JDBC 用户线程组,请参见图 6.2。


图 6.2。 JDBC 用户线程组
图 6.2。JDBC 用户线程组

6.2 添加 JDBC 请求

现在我们已经定义了我们的用户,是时候定义他们将要执行的任务了。在本节中,您将指定要执行的 JDBC 请求。

首先选择JDBC 用户元素。单击鼠标右键以获取Add菜单,然后选择Add  →  Config Element  →  JDBC Connection Configuration。然后,选择这个新元素来查看它的控制面板(见图 6.3)。

设置以下字段(假设我们将使用名为“”的 MySQL 数据库):

  • 绑定到池的变量名称(此处为:myDatabase )。这需要唯一标识配置。JDBC 采样器使用它来识别要使用的配置。
  • 数据库地址:jdbc:mysql://ipOfTheServer:3306/cloud
  • JDBC驱动类:com.mysql.jdbc.Driver
  • 用户名:数据库的用户名
  • 密码:用户名的密码

屏幕上的其他字段可以保留为默认值。

JMeter 使用控制面板中指定的配置设置创建数据库连接池。该池在 JDBC 请求中的“变量名”字段中引用。可以使用几个不同的 JDBC 配置元素,但它们必须具有唯一的名称。每个 JDBC 请求都必须引用一个 JDBC 配置池。多个 JDBC 请求可以引用同一个池。


图 6.3。 JDBC 配置
图 6.3。JDBC 配置

再次选择 JDBC Users 元素。单击鼠标右键以获取Add菜单,然后选择Add  →  Sampler  →  JDBC Request。然后,选择这个新元素来查看它的控制面板(见图 6.4)。


图 6.4。 JDBC 请求
图 6.4。JDBC 请求

在我们的测试计划中,我们将发出两个 JDBC 请求。第一个是选择所有“正在运行”的虚拟机实例,第二个是选择“正在删除”虚拟机实例(显然您应该将这些更改为适合您特定数据库的示例)。这些如下图所示。

JMeter 按照您将请求添加到树中的顺序发送请求。

首先编辑以下属性(参见图 6.5):

  • 将名称更改为“正在运行的 VM ”。
  • 输入池名称:“ myDatabase ”(与配置元素中的相同)
  • 输入 SQL 查询字符串字段。
  • 使用“正在运行”值输入参数值字段。
  • 使用“ VARCHAR ”输入参数类型。


图 6.5。 第一个 SQL 请求的 JDBC 请求
图 6.5。第一个 SQL 请求的 JDBC 请求

接下来,添加第二个 JDBC 请求并编辑以下属性(参见图 6.6):

  • 将名称更改为“ VM Expunging ”。
  • 将 Parameter values 的值更改为“ Expunging ”。


图 6.6。 第二个请求的 JDBC 请求
图 6.6。第二个请求的 JDBC 请求

6.3 添加监听器以查看/存储测试结果

您需要添加到测试计划的最后一个元素是 Listener。此元素负责将 JDBC 请求的所有结果存储在文件中并显示结果。

选择JDBC Users元素并添加一个摘要报告 侦听器(添加 → 侦听器 → 摘要报告)。

保存测试计划,并使用菜单 Run  →  StartCtrl  +  R运行测试

侦听器显示结果。


图 6.7。 图表结果监听器
图 6.7。图表结果监听器
Go to top