zoukankan      html  css  js  c++  java
  • Jmeter使用JDBC链接数据库进行压力测试

    一.关于性能测试

      对数据库进行压测时,我们需要关注的几个方面:

      1.系统相关指标,诸如:系统CPU/内存/IO等

      2.进程相关指标,诸如:mysql该数据库的对应的进程占用CPU/内存/IO等

      3.数据库特有的存储查询等性能计数器计入的相关指标点

    二.工具

      市面上有很多的性能测试工具,诸如loadrunner,nmon等,本次只讲解Jmeter。

      初始的Jmeter在未有安装插件的情况下,包括对接口的测试等所监控的指标是有限的。如下图:

      

    以上各指标解释如下:

    1).Label - 请求对应的name属性值。
    2).Samples - 具有相同标号的样本数,总的发出请求数。
    3).Average - 请求的平均响应时间。
    4).Median - 50%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第50%的值。
    5).90% Line - 90%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第90%的值。
    6).95% Line - 95%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第95%的值。
    7).99% Line - 99%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第99%的值。
    8).Min - 最小响应时间。
    9).Max - 最大响应时间。
    10).Error % - 本次测试中,有错误请求的百分比。
    11).Throughput - 吞吐量是以每秒/分钟/小时的请求量来度量的。这里表示每秒完成的请求数。
    12).Received KB/sec - 收到的千字节每秒的吞吐量测试。
    13).Sent KB/sec - 发送的千字节每秒的吞吐量测试。

    为了适应标题【一】的各项指标,我们引入Jmeter插件做为压测补充

    三.Jmeter数据库压测范例

    1.下载绿色版Jmeter(为了方便,无需安装)并解压

    2.下载对应的插件JMeterPlugins-Extras-1.4.0.zip JMeterPlugins-Standard-1.4.0.zip ServerAgent-2.2.3.zip

    3.解压JMeterPlugins-Extras-1.4.0.zip 和JMeterPlugins-Standard-1.4.0.zip将lib/ext内jar复制到jmeter目录lib/ext内

    4.上传ServerAgent-2.2.3.zip到数据库所在服务器上并解压,执行

    sh startAgent.sh

    效果如下:

    5.启动Jmeter并进行配置

    a)点击测试计划,导入对应数据库的jdbc驱动包

     

    b)右键点击[测试计划]->添加->[配置元件]->选择->[jdbc connection configuration ]。配置界面如下:

     c).右键点击[测试计划]->添加->[线程组]

    d).右键点击[线程组]->添加->[jdbc request]jdbc request配置界面如下

    e).右键点击[线程组]->点击->[监听器]->添加->[查看结果树]

    f).右键点击[线程组]->点击->[监听器]->添加->[聚合报告]

    !!!重点!!!

    g).前方步骤引入的插件在此处使用开始 右键点击[线程组]->点击->[监听器]->添加->[perfmon metrics collector],配置如下:

    h).右键点击[线程组]->点击->[监听器]->添加->[ DbMon Samples Collector],配置如下:

    以上,END


    作者:Vsky
    出处:https://www.cnblogs.com/VVsky/
    交流群:636090586(备注博客园)
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果喜欢我的文章,请关注我的公众号

  • 相关阅读:
    Kubernetes基本概念之Volume
    Kubernetes对象之PersistentVolume,PersistentVolumeClaim和StorageClass
    SSDB高效能缓存系统
    python2升级python3
    pkg-config相关的常用指令
    CISSP考试经验分享
    如何在命令行添加换行符到git commit -m "xxx"
    为什么tcp-wrappers被Redhat Centos Fedora废弃?
    Docker 国内仓库和镜像
    shell脚本对代码执行时间的计时
  • 原文地址:https://www.cnblogs.com/VVsky/p/9232647.html
Copyright © 2011-2022 走看看