测试您的部署
本节介绍可轻松实现的基础架构测试,以测试您的部署。
SQL 服务器存储子系统性能测试
测试存储子系统性能是一种良好做法。 在此测试中,Diskspd 工具用于执行磁盘性能测试。 Diskspd 是微软公司开发的一款存储测试工具,它是一个命令行实用程序,有许多可用参数。 在我们的测试中,使用了以下命令来测试每个硬盘:
cd C:\Users\Administrator\Downloads
.\diskspd.exe -c100G -d300 -r -w40 -t4 -o2 -b64K -Sh -L D:\testfile.dat > TestData.txt
.\diskspd.exe -c100G -d300 -r -w40 -t4 -o2 -b64K -Sh -L E:\testfile.dat > TestLog.txt
.\diskspd.exe -c100G -d300 -r -w40 -t4 -o2 -b64K -Sh -L F:\testfile.dat > TestTempDB.txt
命令选项如下
-
- -c100G- 在要测试的所需卷中创建名为 testfile.dat 的 100GB 文件。
-
- -d300- 测量时间为 300 秒(5 分钟)。
-
- r- 随机 I/O 访问。
-
- -w40- 40% 写入请求,60% 读取。 这是 SQL Server OLTP 数据库的典型负载。
-
- -t4- 每个文件的线程数,应为每个可用 vCPU 一个线程。
-
- -o2- 每个线程每个目标尚未处理的 I/O 请求数,即队列深度。
-
- -b64K- 64KB 块大小,这是 SQL 服务器的典型大小。
-
- Sh- 禁用软件缓存和硬件写缓存。
-
- L- 测量延迟统计数据。
结果记录在 txt 文件中。 作为解释结果的指南:
- 总 IO 部分提供每个线程的统计数据(读+写)。
- 总 IO 部分的最后一行提供了整个测试运行的总值。
- 总 MB/s 应接近 IBM Cloud控制台中卷的 MiBps,除非多个卷已被条带化。
- AvgLat 是平均延迟。
- 接下来的两节将提供读取和写入操作的统计数据。
- < 5ms的延迟被视为良好
汇总结果显示在以下部分。
数据驱动成果
测试的主要信息如下:
diskspd.exe -c100G -d300 -r -w40 -t4 -o2 -b64K -Sh -L D:\testfile.dat
I/O | MiB/s | IOPs | 平均延迟 |
---|---|---|---|
总 I/O | 82.03 | 1312.45 | 6.088 |
读 I/O | 49.20 | 787.14 | 7.282 |
写 I/O | 32.83 | 525.30 | 4.298 |
日志驱动结果
测试的主要信息如下:
diskspd.exe -c100G -d300 -r -w40 -t4 -o2 -b64K -Sh -L E:\testfile.dat
I/O | MiB/s | IOPs | 平均延迟 |
---|---|---|---|
总 I/O | 82.03 | 1312.49 | 6.088 |
读 I/O | 49.20 | 787.13 | 7.101 |
写 I/O | 32.83 | 525.36 | 4.570 |
Tempdb 硬盘结果
测试的主要信息如下:
diskspd.exe -c100G -d300 -r -w40 -t4 -o2 -b64K -Sh -L F:\testfile.dat
I/O | MiB/s | IOPs | 平均延迟 |
---|---|---|---|
总 I/O | 223.58 | 3577.33 | 2.231 |
读 I/O | 134.11 | 2145.77 | 3.615 |
写 I/O | 89.47 | 1431.56 | 0.156 |
故障切换测试
故障切换测试包括两项测试:
可用性组故障切换测试
要测试可用性组的故障转移,请按照以下步骤操作:
- RDP 连接到堡垒服务器。
- 使用堡垒服务器上的 SQL Server Management Studio (SSMS) 连接到主副本。
- 在对象资源管理器中展开 Always On Availability Group。
- 右键单击可用性组,选择故障转移,打开故障转移向导。
- 按照提示选择故障转移目标,并将可用性组转移到辅助副本。
- 确认数据库在新的主副本上处于同步状态。
- 返回主数据库,确认数据库处于同步状态。
连接故障切换测试
要测试 DNN 监听器的连接性,请按照以下步骤操作:
- RDP 连接到堡垒服务器。
- 打开堡垒服务器上的 SQL Server Management Studio (SSMS)。
- 连接 DNN 监听器。
- 打开一个新的查询窗口,运行 quey
SELECT @@SERVERNAME
检查哪个副本已连接。 - 将可用性组故障转移到辅助副本。
- 再次运行
SELECT @@SERVERNAME
,确认可用性组已托管在辅助副本上。 您可能需要多次重试/ 了解环境中的故障切换时间非常重要
数据库负载测试
有许多免费、开源或授权的负载测试工具可供使用,但 HammerDB 是一种开源工具,您可以用它来演示 SQL Server 数据库的性能。 您可以将此工具下载到堡垒主机,并用它来加载测试 SQL 服务器:
- 使用以下 PowerShell 命令将 HammerDB-4.1 下载到堡垒主机:
$client = new-object System.Net.WebClient
$client.DownloadFile("https://github.com/TPC-Council/HammerDB/releases/download/v4.1/HammerDB-4.1-Win-x64-Setup.exe","C:\Users\Administrator\Downloads\HammerDB-4.1-Win-x64-Setup.exe")
-
按照 Windows 上安装和启动 HammerDB 中的自解压安装程序安装方法,在堡垒主机上安装 HammerDB。
-
按照“快速入门”配置 HammerDB,以便在requiredSQL 服务器上运行负载测试。
查看 HammerDB 有关 SQL Server 性能和可扩展性的最佳实践的信息。
有关其他版本的 HammerDB, HammerDB 下载。