当前位置: 首页 > news >正文

HammerDB:一款免费开源的数据库基准测试工具

HammerDB 是一款免费、开源的数据库负载生成和基准测试工具。它主要用于评估数据库系统的性能、可扩展性和吞吐量,特别侧重于 TPC-C 和 TPC-H 基准测试模型。

功能特性

  • 跨平台:HammerDB 基于 Tcl/Tk 语言开发,支持 Windows 和 Linux 操作系统。这使得它可以在各种环境中运行,无论是本地服务器、虚拟机还是云环境。
  • 免费开源:HammerDB 遵循 BSD 开源许可证,可以免费下载、使用和修改源代码,没有隐藏费用或者功能限制。
  • 多数据库:HammerDB 支持多种主流数据库,包括 Microsoft SQL Server、IBM Db2、Oracle、PostgreSQL、MariaDB、MySQL 以及 Amazon RDS。
    简单易用:HammerDB 提供了易于使用的图形界面,方便用户配置数据库连接、定义测试参数(虚拟用户数、仓库数、运行时间等)、创建 Schema、加载数据、运行测试和监控进度等。
  • 标准测试模型:HammerDB 工作负载 TPROC-C 以及 TPROC-H 分别实现了事务处理性能委员会(TPC)制定的标准基准测试模型 TPC-C 以及 TPC-H,这两种模型分别对应在线事务处理环境以及决策支持系统。
  • 虚拟用户:HammerDB 使用虚拟用户来模拟并发数据库连接和操作,支持配置大量虚拟用户测试数据库在高并发负载下的表现。虚拟用户的行为(思考时间、按键时间等)可以配置,以模拟更真实的用户场景。
  • 自动化测试:HammerDB 提供命令行接口,允许将测试过程完全脚本化,便于集成到自动化测试流程、持续集成/持续部署管道中。可以定义复杂的测试场景,并且重复执行以获取稳定的结果。
  • 性能监控与报告:可以在测试运行期间实时显示关键性能指标,如每分钟事务数、虚拟用户状态、错误信息等;并且在测试完成后生成详细的性能报告,核心指标是 NOPM(系统每分钟能够成功完成的“新订单”事务的数量)。同时还可以捕获操作系统的性能计数器(如 CPU、内存、磁盘 I/O、网络),并将结果导出用于进一步分析或生成图表。

下载安装

HammerDB 可以免费下载安装,官方下载网址:

https://www.hammerdb.com/download.html

选择对应操作系统文件进行下载安装,完成后双击 hammerdb.exe(Windows)运行:

另一个安装方式就是使用 Docker 镜像,使用下面的命令下载针对所有数据库的完整映像或者用于特定数据库的映像。

docker pull tpcorg/hammerdbdocker pull tpcorg/hammerdb:mysql
docker pull tpcorg/hammerdb:maria
docker pull tpcorg/hammerdb:oracle
docker pull tpcorg/hammerdb:postgres
docker pull tpcorg/hammerdb:mssqls

然后启动容器:

docker run --network=host -it --name hammerdb hammerdb bash

其中,–network=host 用于添加添加主机网络,支持远程数据库通信。

接下来可以通过官方文档中的快速入门开始了解 HammerDB 的使用:

https://www.hammerdb.com/docs/ch02.html

http://www.lryc.cn/news/603226.html

相关文章:

  • 【学习笔记】Lean4 定理证明 ing
  • C++ 模板类型 <T>,对函数参数传递兼容性检查
  • [MySQL] MySQL 版本不支持 ST_Distance_Sphere替代方案和解决方案
  • 数据结构【红黑树】
  • Charles中文版使用指南:如何利用抓包工具优化API调试与网络性能
  • Redis+JWT 认证管理最佳实践
  • TOPSIS(Technique for Order Preference by Similarity to Ideal Solution )简介与简单示例
  • Ext JS极速项目之 Coworkee
  • 随缘玩 一: 代理模式
  • 算法第29天|动态规划dp2:不同路径、不同路径Ⅱ、整数拆分、不同的二叉搜索树
  • 【图像处理基石】如何对遥感图像进行实例分割?
  • 小白学OpenCV系列1-图像处理基本操作
  • 在 Web3 时代通过自我主权合规重塑 KYC/AML
  • [SWPU2019]Web1
  • 链表反转中最常用的方法————三指针法
  • PHP云原生架构:容器化、Kubernetes与Serverless实践
  • redis【1】
  • 小程序视频播放,与父视图一致等样式设置
  • zama test
  • 百元级工业级核心板:明远智睿×瑞萨V2H,开启AIoT开发新纪元
  • PDF转Word免费工具!批量处理PDF压缩,合并, OCR识别, 去水印, 签名等全功能详解
  • 数据结构之时间复杂度
  • 前端css 的固定布局,流式布局,弹性布局,自适应布局,响应式布局
  • ZKmall开源商城中台架构实践:API 网关与服务治理如何撑起电商技术骨架
  • 在 PolkaVM 上用 Rust 实现 ERC20 合约的全流程开发指南
  • 接口自动化测试pytest框架
  • c++-list
  • 【VOS虚拟操作系统】未来之窗打包工具在前端资源优化中的应用与优势分析——仙盟创梦IDE
  • Redis内存使用耗尽情况分析
  • 40+个常用的Linux指令——下