PowerShell 不直接压测文件服务器,而是驱动 iperf3(网络层带宽压测)、robocopy(SMB 协议 I/O 压测)、QoS 策略验证及自动监控判定,实现可控、可重复、Server Core 友好的 Windows 文件服务器压力测试。
powershell 本身不直接提供文件服务器压力测试功能,但它是极佳的调度器、控制器和结果整合器——尤其适合对 windows 文件服务器(smb 共享)开展可控、可重复、可自动判定的压测。关键不是“用 powershell 写压测工具”,而是“用 powershell 驱动专业工具 + 监控 + 判定”。
以下四点覆盖真实生产场景中最常用、最可靠的实施路径:
用 iperf3 模拟大流量 SMB 传输压力
iperf3 能精确控制发送速率,配合 SMB 流量可间接施加带宽压力:
- 在客户端机器运行:
iperf3 -c <文件服务器IP> -p 5201 -b 80M -t 60 -J | ConvertFrom-Json
(前提是已在文件服务器上部署 iperf3 服务端,并确保其与 SMB 流量走同网卡)
- 优点:速率精准、输出结构化(JSON)、无 GUI 依赖,适配 Server Core
- 注意:这不是 SMB 协议层压测,而是网络层带宽压测,用于验证底层链路或 QoS 策略是否生效
用 robocopy 批量并发复制模拟真实 SMB I/O 压力
这是最贴近实际业务的方案,直接触发 SMB 协议读写:
- 准备测试文件集(如 100 个 10MB 二进制文件)
- 启动多进程并发复制(模拟多用户上传/下载):
$jobs = @() for ($i = 1; $i -le 8; $i++) { $jobs += Start-Job -ScriptBlock { robocopy "C: estsrc" "\servershareloadtest$using:i" /E /Z /R:1 /W:1 /NP /LOG:"C:logs obocopy-$using:i.log" } } $jobs | Wait-Job | Receive-Job - 关键参数说明:
/Z支持断点续传(更贴近真实行为)/R:1 /W:1减少重试开销,聚焦并发吞吐/LOG分离日志便于失败定位
用 PowerShell 驱动并验证 QoS 限速策略效果
若目标是验证“文件服务器带宽是否真被限制”,需结合 Windows 原生 QoS:
- 创建出站限速策略(限制服务器发往客户端的 SMB 流量):
New-NetQosPolicy "SMB-Out-Limit" -IPDstPortStart 445 -IPDstPortEnd 445 -ThrottleRateActionBitsPerSecond 30Mbps
- 配合 iperf3 或 robocopy 运行后,用 PowerShell 实时观测:
$nic = Get-NetAdapter | Where-Object Status -eq 'Up' | Select-Object -First 1 -ExpandProperty Name Get-Counter "Network Interface($nic)Bytes Total/sec" -SampleInterval 2 -MaxSamples 30 | ForEach-Object { [math]::Round($_.CookedValue * 8 / 1MB, 1) } - 若实测稳定在 ≈28–32 Mbps,说明策略已生效
监控 + 自动判定失败(Server Core 友好)
无界面环境下,必须靠脚本自动识别异常:
- 检查 SMB 共享连接数突增或超限:
$sessions = Get-SmbSession | Where-Object ClientComputerName -ne $null if ($sessions.Count -gt 200) { Write-Warning "SMB 会话数超阈值:$($sessions.Count)" } - 检查共享级性能计数器(需提前启用):
$perf = Get-Counter 'SMB Server Shares(*)SMBv3 Read Bytes/sec' -ErrorAction SilentlyContinue if (-not $perf) { Write-Error "SMB 性能计数器未启用,请运行: Enable-Counter -Counter 'SMB*'" } - 综合退出判定逻辑(示例):
- robocopy 返回码非 0、1、2、3 → 复制失败
- 连续 5 秒网络吞吐低于预期值的 60% → 链路异常
- SMB 会话建立失败率 > 5% → 共享服务异常
不复杂但容易忽略。

















