SQLServer 压测工具使用HammerDB
文章目录
一、测试工具
HammerDB是一个开源的数据库负载测试和基准工具,有Linux和Windows版本,可以测试运行在任意系统上的数据库系统。HammerDB具有自动化的,多线程和动态脚本可扩展特点。HammerDB目前支持的数据库种类很多,主流的数据库都已经覆盖,例如Oracle、SQL Server、DB2、TimesTen、MySQL、MariaDB、PostgreSQL、Greenplum、Postgres Plus Advanced Server、Redis 和 Trafodion SQL on Hadoop。HammerDB包含一个内嵌的基于TPC-C工业标准基线工作负载。
二、测试环境
OS 名称 | Windows Server 2012 R2 Standard |
---|---|
OS版本 | 6.3.9600 |
BIOS | 1.10.2-3.el7_4.1 |
数据库版本 | SQL Server 2017 |
系统类型 | 64位 |
CPU | 4C |
MEM | 8G |
三、安装HammerDB
双击安装文件,然后显示语言选择。
单击继续以开始安装。
单击下一步以确认版本
文件将被复制并且卸载已建立
单击完成并启动HammerDB
四、开始压测
4.1 测试模型
表
- [dbo].[CUSTOMER]
- [dbo].[DISTRICT]:
- [dbo].[HISTORY]:
- [dbo].[ITEM]:
- [dbo].[NEW_ORDER]
- [dbo].[ORDER_LINE]
- [dbo].[ORDERS]
- [dbo].[STOCK]
- [dbo].[WAREHOUSE]
存储过程
- [dbo].[DELIVERY]
- [dbo].[NEWORD]
- [dbo].[OSTAT]
- [dbo].[PAYMENT]
- [dbo].[SLEV]
4.2 测试指标
TPM
Transactions Per Minute,表示数据库每分钟执行的事务数量。
4.3 测试步骤
创建压测数据库
将数据库添加到可用性组
点击options菜单->Benchmark子菜单,勾选“SQL Server”、“TPC-C"两个选项。
双击“schema Build”下的Options进行Sqlserver连接以及数据仓库配置。
配置SQL Server数据库访问内网IP、Port、用户名和密码、数据库名。
其中Warehouses数量设置为10个,虚拟用户数量设置为9个。
设置完成后点击OK,回到左侧导航栏,双击Build进行数据导入,需要等待几分钟,直到用户列表里的complete均显示已完成,单击红色方框停止执行,如下图所示。
配置Driver script
在左侧导航栏中选择Driver script->option,配置数据库连接信息,确保数据库连接信息正确。
在左侧导航栏中选择Driver script/load。
在左侧导航栏中选择Virtual User- >Options,设置Virtual User参数,Virtual Users的数量通常是根据规格配置来选,直到数据库被压出最高TPM,如下图所示。
勾选“Log Output to Temp”后,会在c盘目录下生成hammerdb.log日志文件。
在左侧导航栏中选择Virtual User/Create, 点击Create。
在左侧导航栏中选择Transcations->Option,点击OK, 如下图所示。
在左侧导航栏中选择Transcations/Counter
在左侧导航栏中选择Virtual User->Run,双击Run开始运行,如下图所示。
测试结果可以在C盘根目录下的hammerdb.log日志查看:
五、测试结果
用户数 | TPM |
---|---|
8 | 47433 |
16 | 48146 |
32 | 49409 |
64 | 69298 |
128 | 71171 |
192 | 64324 |
256 | 65944 |