跳到主要内容

构建数据库测试计划

在本节中,你将学习如何创建一个基本的 测试计划 来测试数据库服务器。你将创建 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。 具有默认值的线程组

首先为我们的线程组提供一个更具描述性的名称。在名称字段中,输入 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菜单,然后选择。然后,选择这个新元素来查看它的控制面板(见图 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菜单,然后选择。然后,选择这个新元素来查看它的控制面板(见图 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 → Start 或 Ctrl  +  R 运行测试

侦听器显示结果。

图 6.7。 图表结果监听器

图 6.7。图表结果监听器