Jmeter性能测试数据库性能

时间:2016-03-27 18:39:38

标签: performance jmeter performance-testing database-performance

我是Jmeter和性能测试的新手,我需要对大约10,000种产品上传到电子商务网站并测试网站性能的性能测试,因为可以使用Jmeter中的JDBC Insert命令完成上传。那我该怎么办?

2 个答案:

答案 0 :(得分:2)

Jmeter具有测试DB性能的能力,但Jmeter需要JDBC驱动程序(不仅是Jmeter,每种编程语言都需要JDBC驱动程序)。以下是步骤

  1. 下载JDBC驱动程序并复制到Jmeter / lib目录
  2. 通过运行java -jar ApacheJMeter.jar启动Jmeter,并将“Thread Group”添加到“Test Plan”。
  3. 右键单击“线程组”,然后在“配置元素”上单击“添加”鼠标,选择“JDBC连接配置”,并在连接配置中提供请求的值。

     Variable Name: MyPool
     Maximum Number of Connections: 5
     Pool Timeout: 10000
     Idle cleanup interval: 60000
     Auto Commit: True
     Maximum Connection Age: 5000
     Validation query: Select 1
     DatabaseURL: jdbc:sqlserver://hostName:port;DatabaseName=myDataBase;
     JDBC Driver Class: com.microsoft.sqlserver.jdbc.SQLServerDriver
     User Name: Sql Server userName
     Password: Sql Server password
    
  4. 注意:变量名称非常重要,这是JDBC连接的引用名称。

    enter image description here

    3.右键单击ThreadGroup并将鼠标悬停在“添加”上并将鼠标悬停在“配置元素”上并选择“CSV数据集配置”。  一世。传递“文件名”(/tmp/emp.txt)(您的测试数据文件所在的位置)和  II。在“变量名称”字段中,传递列名称employee_Name,employee_Salary和emplyee_address

    enter image description here

    在上述情况下,我的表只需要employee_Name,employee_Salary和emplyee_address。

    1. 右键单击ThreadGroup并将鼠标悬停在“Add”上并将鼠标悬停在“Sampler”上并选择“JDBC Request”。
    2. enter image description here

      i. Variable Name: MyPool
        ii.From "JDBC Request" applet , select "Update Statement" from "Query Type"
      
       iii.In Query area enter below query "insert into employee (employee_Name,employee_Salary,emplyee_address) values (?,?,?)".
      
      iv.To pass parametrize values in "Parameter Section': ${employee_Name},${employee_Salary},${emplyee_address}
      and enter respective data types in "Parameter Types" section"
      

答案 1 :(得分:0)

性能测试需要尽可能地模拟真实的用户活动。如果您需要特别测试上传10k产品的性能 - 可以通过JDBC Request采样器完成。您可以使用JMeter主菜单中的JMeter Templates功能快速获取测试计划框架:

档案 - >模板 - > JDBC负载测试 - >创建

JDBC Template

但是,如果上传10k产品只是一个先决条件,并且在您使用它预先填充电子商务网站后开始进行主要性能测试 - 那么将测试仅限于数据库并不是一个好主意。更好地使您的测试尽可能真实,即: