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