zoukankan      html  css  js  c++  java
  • 数据库性能测试

    数据库压力测试的原理与web测试的原理应该是一致的,都是通过jmeter多线程的机制模拟压力来测试数据库的处理能力。

    1、添加oracle数据库驱动

    2、添加线程组

    3、添加JDBC Connection Configuration 

     jdbc:oracle:thin:@192.168.205.150:1521:kgdb

    oracle.jdbc.driver.OracleDriver

    4、添加JDBC Request

    配置解析:
    • Variable Name: 选用的配置元件变量,前面已经设置了jdbc配置元件的同名字段,这里需要与配置元件的同名字段相同才能引用配置元件的配置,如果你有多个jdbc配置元件,那么根据不同的sampler选择不同的配置元件,这里填入相对应的jdbc配置元件Variable Name 值即可。
    • SQL Query--- Query Type:sql语句类型,下拉框有8个选项,查询语句的话就选Select Statement,更新语句的话就选Update Statement,但是其实不按照这个规则进行的话jmeter这边会报错,但是其实数据库里的值已经操作成功了;如果你要使用图片下方的Parameter values这一块的设置的话,Query Type就需要选择对应的Prepared Select Statement 或者Prepared Update Statement;输入框里输入sql语句
    • Parameter values: 参数值,在sql语句里对于参数使用?代替,那么这里的输入框就输入?号所代表的的具体值,如图,多个时使用逗号分隔,比如

    • Variable names:sql语句中?所代表的参数变量名称,非必填项,填上有助于与脚本的可读性
    • Result Variable name:运行结果保存的变量名称,非必填项,如果设置了以后,运行结果将会以多个map形式的list保存在所设置的变量中,结果中的列名作为map的key值,列的值作为map的value;使用方法columnValue = vars.getObject("resultObject").get(0).get("Column Name");在jdbc请求之后添加BeanShell PostProcessor后置处理器,脚本区域输入脚本内容,如图:
    jdbc请求设置:
     
    BeanShell后置处理器请求设置:

    还有一种方式使用jdbc请求的结果保存变量Result values,将BeanShell脚本:
    columnValue = vars.getObject("res").get(0).get("USERNAME");
    return columnValue;
    把上面两行内容保存文件为bs.bsh,放在jmeter的bin目录下,使用jmeter自带的__BeanShell函数接收返回值,如${__BeanShell(source("bs.bsh"))}

    注:填写SQL语句结尾不能加;

     注意:前几天下载了个3.2版本的,发现不需要添加驱动程序一样可以玩,另外Validation Query:默认是Select 1,如果是Oracle,需改为Select 1 from dual,否则报错 Cannot create PoolableConnectionFactory (ORA-00923: 未找到要求的 FROM 关键字),之前的版本没有遇到这个问题。

  • 相关阅读:
    4.方向-世界坐标系
    3.Unity3d物体操作常用按键
    2.Unity3d常用按键
    1.Unity3d的新建场景和保存场景
    MySQL CodeFirst的配置与注意事项
    HNU暑假训练第一场C.Ninja Map
    牛客暑假多校第二场J-farm
    牛客暑假多校第一场J-Different Integers
    主席树设计与实现
    博弈论的一些理解
  • 原文地址:https://www.cnblogs.com/quyong/p/5834005.html
Copyright © 2011-2022 走看看