Skip to main content

Windows Server 2022 上测试硬盘的读写性能

Windows Server 2022 上测试硬盘的读写性能,可以使用系统自带或原生命令行工具(如 winsatdiskspdPowerShell)进行。以下是几种常用方法,按用途分类说明。


✅ 一、最简单:使用 WinSAT(系统自带)

WinSAT(Windows System Assessment Tool)是 Windows 自带的性能评估工具。

1️⃣ 测试磁盘顺序读写速度

winsat disk -drive c
  • 其中 -drive c 表示测试 C 盘。

  • 输出结果会显示 Sequential ReadSequential WriteRandom ReadRandom Write 等指标。

2️⃣ 仅测试顺序读取

winsat disk -seq -read -drive c

3️⃣ 仅测试顺序写入

winsat disk -seq -write -drive c

4️⃣ 测试随机读写

winsat disk -ran -read -drive c
winsat disk -ran -write -drive c

📊 结果示例

> winsat disk -drive c
Disk  Sequential 64.0 Read : 1925.41 MB/s
Disk  Random 16.0 Read : 673.21 MB/s
Disk  Sequential 64.0 Write : 1450.11 MB/s

✅ 二、专业推荐:使用 DiskSpd(微软官方工具)

diskspd 是微软官方提供的高精度磁盘性能测试工具(比 winsat 更接近 fio)。

1️⃣ 下载地址

微软官方 Sysinternals 工具包:
🔗 https://aka.ms/diskspd

下载后解压,将 diskspd.exe 放入系统路径或当前目录。


2️⃣ 基本测试命令

顺序读写测试(模拟大文件传输)

diskspd -b64K -d30 -o1 -t1 -r -w0 c:\testfile.dat
  • -b64K:块大小 64KB

  • -d30:测试时长 30 秒

  • -o1:队列深度 1

  • -t1:线程数 1

  • -r:顺序读

  • -w0:写比例 0%(即纯读)

  • 结果包括 IOPS、MB/s、延迟。

顺序写入测试

diskspd -b64K -d30 -o1 -t1 -r -w100 c:\testfile.dat

随机读写混合测试(例如数据库负载)

diskspd -b4K -d30 -o4 -t4 -r -w30 c:\testfile.dat
  • 随机访问(-r

  • 块大小 4K

  • 写比例 30%(即读写混合)

📋 测试后建议清理临时文件

del c:\testfile.dat

✅ 三、PowerShell 快速测试(不依赖外部工具)

你也可以用简单的 PowerShell 命令快速测试大文件读写性能:

# 写入测试
Measure-Command { fsutil file createnew C:\speedtest.tmp 1073741824 }

# 读取测试
Measure-Command { Get-Content C:\speedtest.tmp | Out-Null }
  • 上述写入测试创建一个 1GB 文件,测量所需时间。

  • 然后根据时间计算大致速度:

    $size = 1GB
    $time = (Measure-Command { fsutil file createnew C:\speedtest.tmp 1073741824 }).TotalSeconds
    "$([math]::Round($size / $time / 1MB,2)) MB/s"
    

✅ 四、结果分析建议

指标 含义 常见值范围(SATA SSD)
Sequential Read 连续大文件读取速度 400–550 MB/s
Sequential Write 连续大文件写入速度 300–500 MB/s
Random Read 4K 小块随机读取性能 20–50 MB/s
Random Write 4K 小块随机写入性能 20–40 MB/s
IOPS 每秒读写次数 数千到数万

是否希望我帮你写一个 自动检测脚本(例如 PowerShell 一键测试所有磁盘并输出结果表格)?
如果你说“要”,我可以直接帮你生成完整脚本。