• 十八、JMeter实战-JDBC连接MySQL数据库


    前言

    连接数据库进行测试在工作中会比较常用,首先可以读取数据库的数据进行参数化、关联等,批量添加测试数据以及清理数据,还可以直接对SQL语句进行压测。



    一、基本介绍

    1. 首先第一步要导入mysql驱动包,放到jmeter/lib目录下,

    下载地址:https://dev.mysql.com/downloads/connector/j/

    然后重启jmeter。

    2. 在测试计划 点击“浏览”,然后选择刚才的mysql驱动包



    3. 在配置文件中添加JDBC Connection Configuration



    4. 线程组 - HTTP取样器 - JDBC Request

    JDBC 请求采样器允许你将JDBC请求(SQL语句)发送到数据库。在使用之前,你需要设置JDBC Connection Configuration



    5. JDBC Connection Configuration

    JDBC连接配置 设置创建数据库连接(供JDBC Request Sampler使用)


    (1)Variable Name for created pool:数据库连接池的变量名,需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样器的配置。
    原理:JDBC Request可以选择不同的连接池名来选择不同的数据库连接。Variable Name变量名称与JDBC Request中的Variable Name要保持一致,JDBC Connection Configuration中先配置好连接数据库,然后赋予该连接一个变量名 。JDBC Request需要连接哪个数据库,就填写该数据库的变量名即可。

    (2)Max Number of Connections:数据库连接池最大连接数,一般设置为0,意思是每个线程都单独使用一个数据库连接。
    (3)Max Wait (ms):在连接池中取回连接最大的等待时间,在查询过程中,超过设置的值,连接池会抛出异常。
    (4)Time Between Eviction Runs (ms):疏散时间,数据库空闲清理的间隔时间。
    (5)Auto Commit:自动提交。
    (6)Transaction isolation:事务间隔级别设置。

    6. JDBC Request

    该采样器使您可以将JDBC请求(SQL查询)发送到数据库。
    使用此功能之前,您需要设置 JDBC连接配置配置元素。

    (1)Variable Name of Pool declared in JDBC Connection Configuration:连接池绑定到的JMeter变量的名称。这必须与JDBC连接配置的“变量名”字段一致。
    (2)Query Type:
    1.Select Statement:需要填写的sql是完整可执行的sql语句。
    2.Update Statement:对于insert、update、delete语句,需要设置此选项,数据修改语句中可以使用参数,而且可以顺序执行多个修改语句。
    3.Callable Statement:多个语句查询。
    (3)Parameter valus:参数值
    (4)Parameter types:参数类型
    (5)Variable names:保存sql语句返回结果的变量名
    (6)Result variable name:创建一个对象变量,保存所有返回的结果
    (7)Query timeout:查询超时时间
    (8)Handle result set:定义如何处理由callable statements语句返回的结果



    二、实操

    1. 填写好数据库连接池的变量名,名称自己定义



    2. 设置连接



    Database URL: jdbc:mysql:// 数据库地址 /数据库名
    JDBC Driver class:com.mysql.jdbc.Driver
    Username:账号
    Password:密码
    

    3. 加一个调试取样器,然后,看结果

    三、不同数据库的连接配置

    不同的数据库连接配置不一样,常用的数据 mysql、sqlserver、oracel

    Database Driver class Database URL
    MySQL com.mysql.jdbc.Driver jdbc:mysql://host:port/{dbname}
    Oracle oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:user/pass@//host:port/service
    MSSQL com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://IP:1433;databaseName=DBname
    
    
    Database	Driver class	                                 Database URL
    MySQL	        com.mysql.jdbc.Driver	                         jdbc:mysql://host:port/{dbname}
    PostgreSQL	org.postgresql.Driver	                         jdbc:postgresql:{dbname}
    Oracle	        oracle.jdbc.driver.OracleDriver	                 jdbc:oracle:thin:user/pass@//host:port/service
    MSSQL	        com.microsoft.sqlserver.jdbc.SQLServerDriver 	 jdbc:sqlserver://IP:1433;databaseName=DBname  
    
  • 相关阅读:
    循环神经网络(LSTM和GRU)(1)
    threading包的例子和queue包的例子
    xgboost调参
    理解 Python 中的 *args 和 **kwargs
    TFRecords文件的生成和读取(1)
    tensorflow函数介绍(4)
    python其他篇(1)
    python实现Restful服务(基于flask)(2)
    开源多线程性能测试工具-sysbench
    MySQL 8.0.0 版本发布,亮点都在这了!
  • 原文地址:https://www.cnblogs.com/wwho/p/14210136.html
Copyright © 2020-2023  润新知