• Jmeter并发压测数据库的TPC值


    Apache JMeter

    视频讲解演示:https://www.bilibili.com/video/BV1Dh4y1J7NW/

    Apache组织开发的基于Java的压力测试工具,常常用来模拟高并发压测场景

    下载网址:https://jmeter.apache.org/download_jmeter.cgi
    image.png

    • 下载二进制包,解压即可用
    • 安装JDK,配置环境变量(具体步骤百度吧,使用java -version能显示java版本即配置完成)
      image.png
    • 进入解压的bin目录
      • Windows双击 jmeter.bat 启动
      • 其他平台 sh jmeter 启动

    将连接数据库的驱动jar包放置于lib目录下:apache-jmeter-5.5/lib/

    各驱动配置信息和jar包下载:

    DataBaseDriverURL默认端口
    Oracle<9ioracle.jdbc.driver.OracleDriverjdbc:oracle:thin:@[host]:[port]:[serverName]1521
    Oracle>=9ioracle.jdbc.OracleDriverjdbc:oracle:thin:@[host]:[port]:[serverName]1521
    MySQL 5com.mysql.jdbc.Driverjdbc:mysql://[host]:[port]/[dbName]3306
    MySQL 8com.mysql.cj.jdbc.Driverjdbc:mysql://[host]:[port]/[dbName]3306
    PostgreSQLorg.postgresql.Driverjdbc:postgresql://[host]:[port]/[dbName]5432
    MongoDBMongoDB.Drivermongodb://[userName]:[password]@[host]:[port]/[dbName]27017
    • [host]:连接IP,本地localhost或127.0.0.1
    • [port]:数据库端口
    • [dbName]:数据库名
    • [serverName]:服务名,等同于数据库名,像Oracle常用的ocrl

    jmeter.properties 配置文件调整
    修改解压包bin目录下的jmeter.properties配置文件,默认英文设置成中文显示并调整字符集为UTF-8避免内容乱(apache-jmeter-5.5/bin/jmeter.properties)

    #language=en
    language=zh_CN
    
    #sampleresult.default.encoding=ISO-8859-1
    sampleresult.default.encoding=UTF-8
    
    • 1
    • 2
    • 3
    • 4
    • 5

    常规压测结果查看“聚合报告”:
    image.png
    使用命令执行生成网页可视化的数据库tpc值:

    # 进入解压包的bin目录下(也可配置环境变量)
    cd apache-jmeter-5.5/bin
    -- Windows
    jmeter -n -t .\xxoo.jmx -l .\webreport\result.txt -e -o .\webreport\result
    -- macOS
    ./apache-jmeter-5.5/bin/jmeter -n -t ./xxoo.jmx  -l ./webreport/result.txt -e -o ./webreport/result
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    压测结果可网页直观查看:
    主要关注并发数(Samples)和吞吐率(Throughput)
    image.png

    • 压测场景:由于压测场景是对比不同数据库在并发场景下的tpc值,为确保硬件一致,在同一台服务器上部署多个数据库,每次停其他数据库服务再进行单类库的压测。
    • 压测存在问题:一次压测后需等待5min+后才可再次压测,否则结果波动会很大
  • 相关阅读:
    信息的定量描述
    173. 二叉搜索树迭代器
    法线贴图Shader
    dubbo学习(一)dubbo简介与原理
    聊聊JDK19特性之虚拟线程 | 京东云技术团队
    nodejs+vue电影网站elementui
    Day11:二叉树---->满~、完全~、堆
    带返回值宏函数[C语言]
    jdk11版本jenkins打包jdk8项目,同时兼容jdk11与jdk8
    工作记录之策略模式
  • 原文地址:https://blog.csdn.net/suoyue_py/article/details/133940927