• jmeter创建数据库测试计划


    这个例子要:创建50个用户发送2个sql请求到数据库服务器,

    也可设置用户重复执行100次,这样总的请求数=50*2*100

    用到以下元素:thread group / jdbc request / summary report

     这个例子使用sqlserver数据库驱动,需要将驱动 .jar文件放于jmeterlib下

    下载地址:http://www.microsoft.com/zh-CN/download/details.aspx?id=11774

    需要有一个有效的数据库,数据表,用户级别的访问数据表的权限,这里用 XSData 数据库 表:tbInfoClient

    1 每个jmeter测试计划-首先要添加一个thread group 元素,thread group 元素告诉jmeter要模拟的用户数,多长时间发送一次请求,发送请求次数

    设置属性:

      name:jdbc users

      users:50

      Ramp-up period=10 (延迟多长时间启动线程,50/10=5秒启动一个线程)

      loops=100(重复执行100次)

    jmeter面板自动接受修改数据,如果改变了一个元素的名称,在焦点离开文本框时树列表名称改变

     2 添加jdbc request 

    选择jdbc users结点-右键-Add-Config Element-JDBC conection configuration 

     属性:veriable name bound to pool:唯一标识这个配置,被jdbc sampler使用指定使用的配置

      database url:  jdbc:jdbc:sqlserver://127.0.0.1:1433;databasename=XSData     如果是mysql(mysql://ipOfTheServer:3306/xsdata)

      JDBC driver class:选择sqlserver.jdbc     如果是mysql(com.mysql.jdbc.Driver)

      username:sa

      password:123

    其他属性可以使用默认值

    jmeter根据配置创建一个数据库池,这个池根据variable name 关系到jdbc request

    可以使用多个不同的jdbc configration元素,但是必须有唯一的名称

    每个jdbc request 必须关系到一个数据库配置池,多个jdbc request 可以关系到同一个数据库配置池

     3 添加jdbc request

    选择jmeter users (thread group)-右键-Add-Sampler-JDBC Request

    在这里我们添加2个jdbc request 第1个用来选择所有状态字段不为空的记录,第2个用来选择所有记录状态为空的记录

    修改属性:Name :JDBC Request Running

      输入variable name bound to pool:mydatabase (与配置一致)

       输入sql qurey: select * from tbInfoClient where isnull(MemberLevelID,0)<>? 使用占位符出错 使用语句:select * from tbInfoClient where isnull(MemberLevelID,0)<>0

      输入字段值

      输入字段类型

      (可在test plan 添加变量:o_value)

    添加第2个jdbc request:设置属性如图:

    4 添加 listener

    选择jmeter users(thread group)-右键-Add-Listener-summary report

    Label:取样器/监听器名称

    Samples :事务数量

    Average:平均一个完成一个事务消耗的时间(平均响应时间)

    Median:所有响应时间的中间值,也就是 50% 用户的响应时间,大概是这个意思

    Min:最小响应时间

    Max:最大响应时间

    以上单位都是ms

    Std.Dev:偏离量,越小表示越稳定

    Error %:错误事务率

    Throughtput:每秒事务数,即tps

    KB/sec:网络吞吐量

      

      

    Datebase

    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

    Ingres (2006)

    ingres.jdbc.IngresDriver

    jdbc:ingres://host:port/db[;attr=value]

    MSSQL

    com.microsoft.sqlserver.jdbc.SQLServerDriver

    或者

    net.sourceforge.jtds.jdbc.Driver

    jdbc:sqlserver://IP:1433;databaseName=DBname

    或者

    jdbc:jtds:sqlserver://localhost:1433/"+"library"

  • 相关阅读:
    python 基于gevent协程实现socket并发
    python asyncio
    python 池 协程
    python
    python 守护进程
    python 线程 threading模块
    python 安装Django失败处理
    python 队列
    python 锁
    继承,抽象类,多态,封装
  • 原文地址:https://www.cnblogs.com/caojuansh/p/8567095.html
Copyright © 2020-2023  润新知