zoukankan      html  css  js  c++  java
  • Jmeter连接SqlServer数据库进行压力测试

    前提准备:先安装jdbc驱动

    将sqljdbc4.jar放置jmeter的安装目录/lib下;复制之后重新启动jmeter;

    1.测试计划—配置驱动程序

      测试计划右下角,点击浏览,选择jdbc驱动

     

    2.添加线程组

    右击测试计划——添加——Thread——线程组

     

    3.添加配置元件JDBC Connection Configuration

     

    4.配置JDBC Connection Configuration

      

    Variable Name: 变量名称,需要变量名绑定到池。需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样的配置。简单理解就是在JDBC request的时候确定去哪个绑定的配置。

    MaxNumber of Connection: 数据库最大链接数

    PoolTimeout: 数据库链接超时,单位ms

    Idle Cleanup Interval (ms): 数据库空闲清理的间隔时间,单位ms

    Auto Commit:自动提交。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)

    Transaction Isolation:   

    事务间隔级别设置,主要有如下几个选项:(对JMX加解密) 

    【TRANSACTION_NODE  事务节点 、

    TRANSACTION_READ_UNCOMMITTED事务未提交读、

    TRANSACTION_READ_COMMITTED事务已提交读 、

    TRANSACTION_SERIALIZABLE事务序列化 、

    DEFAULT默认、

    TRANSACTION_REPEATABLE_READ事务重复读、

    编辑】

    Keep-Alive: 是否保持连接

    Max  Connection age (ms):最大连接时长,超过时长的会被拒绝

    Validation Query:验证查询,检验连接是否有效(数据库重启后之前的连接都失效,需要验证查询)

    需要配置的参数有:

    (1)Variable Name:test  后续JDBC Request中也会用到这个值;

    (2)Database URL:jdbc:sqlserver://192.168.1.2:1222;databaseName=DBname  (DBname为数据库名称);

    (3)JDBC Driver class:com.microsoft.jdbc.sqlserver.SQLServerDriver(sql2008之前的版本)   (SqlServer固定写法,每个数据库的不一样com.microsoft.sqlserver.jdbc.SQLServerDriver(sql2008));

    (4)Username Password数据库的用户名和密码; 

    Database URL的构成参照表(jmeter的help中也有)见下:

      

    5.添加JDBC Request

     

    6.配置JDBC Request参数

     

    7.添加监听器

     

    查看结果树在正式测试压力的时候,要去掉,否则会由于IO的情况,使JMeter和系统都会变得很卡。切记。

    8.运行,查看结果

     

    9.第八步的结果是正常的话,删除查看结果树;设置线程组,选择forever;添加聚合报告,点击run按钮,通过监控器——聚合报告,查看结果。

    10.DB端压步上去,调整当前JMeter的线程数,或者增加JMeter的测试机器数。

    可能出现的问题:

    1、出现:java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:ORCL错误解决

    原来是因为没有加载包的缘故,关闭jmeter,然后将class12.jar复制到jmeter目录下面的lib目录中,重新启动运行即可。

     

    2、连接MySQL数据库时,出现:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'错误

    看起来似乎是设置字符的问题,后来在JDBC连接配置那里将Database URL加上字符编码即可(?characterEncoding=UTF-8)

    jdbc:mysql://127.0.0.1:3306/paydb?characterEncoding=UTF-8

     

    3、出现:org.apache.avalon.excalibur.datasource.NoAvailableConnectionException: Could not create enough Components to service your request (Timed out).

    出现这个原因是因为连接超时,增大Pool TimeOUT就可以了。

    转自:https://blog.csdn.net/qq_36260310/article/details/76179592

               https://blog.csdn.net/qq_35451939/article/details/79728789

  • 相关阅读:
    DAY 42 前端
    DAY 41 mysql
    DAY 40 前端学习
    DAY 39 前端学习
    DAY 38 前端学习
    DAY 37 前端学习
    上传一个桌面
    找到anaconda中自带的qtdesigner,设计ui文件并生成py文件
    python课程:python3的数字与字符串
    python3 偏最小二乘法实现
  • 原文地址:https://www.cnblogs.com/yunlong-study/p/9945226.html
Copyright © 2011-2022 走看看