简介AS SSD Benchmark 属于系统工具中的磁盘测试类软件面向 SSD 固态硬盘性能测试与硬件评估适合装机验机、系统优化及需要对比不同硬盘实际表现的玩家与运维人员使用。它可测顺序读写、4K 随机读写、IOPS 与访问延迟等关键指标也能模拟压缩数据等负载帮助判断硬盘在连续大文件传输和日常小文件并发访问中的真实水平。压缩包共 4 个文件以 1 个 exe 主程序、2 个 dll 资源组件和 1 个 htm 说明文档为主包体仅 285KB便于随身保存和快速启动测试。已有 1730 人学习说明其在 SSD 测速场景中具有一定参考价值。读者可借助主程序完成基准跑分结合说明文档理解各项成绩含义并利用随附资源组件获得更完整的界面与帮助支持为硬件选购、故障排查、性能优化及判断升级收益提供可对照的数据依据。1. AS SSD Benchmark 到底在测什么一块盘的「体检报告」怎么读装完机器、换完盘很多人做的第一件事不是跑分而是先怀疑自己买亏了。AS SSD Benchmark 就是用来解决这个怀疑的一个几 MB 的绿色 exe归在系统工具-磁盘工具这一类里解压双击就能对 SSD 硬盘测速把顺序读写、4K 单队列随机、64 队列深度随机和访问时间一次性展示出来。它不驻留、不装服务适合验新盘、二手盘复检也适合排查「换了新盘反而更卡」这种说不清的问题。但它给的是某一时刻的状态不是终身结论——看不懂分数怎么来的很容易被一个总分带偏这也是后面几章要拆开讲的原因。2. 装前先把环境捋直从解压到首次跑分的完整动作2.1 绿色包的落地方式与运行前提拿到的是 v1.8.5611.39791 的 zip 包解压出来基本就是主程序加少量附属文件没有安装向导。我一般把它解压到一个纯英文、无空格的短路径下比如D:\Tools\ASSSD\。老式 Win32 程序对中文路径和过长路径的兼容性时好时坏路径带中文导致程序起不来、或者测到一半闪退这类翻车我见过不止一次提前避开比事后排查省事。运行方式上有个细节值得强调右键选择「以管理员身份运行」。访问时间Acc Time这一项要绕开文件系统缓存去读底层设备普通权限下经常拿不到数据结果区会空着或者直接报错。程序本身不需要额外运行时也不需要联网激活解压即用是它最大的优点。还有两点容易被忽略。第一别把程序放在被测试的那块盘上测试过程会持续写入临时文件程序本体和被写目标同盘会互相抢 IO。第二目标盘至少留出「测试文件大小 × 2」的空闲空间1GB 模式就留 2GB 以上5GB 模式留 10GB 以上空间不够时程序会中途退出且不一定给明确提示。系统自带的安全提示第一次运行时可能会拦截把解压目录加进排除项即可不建议为此关掉整个防护。2.2 首次跑分前必须确认的四项环境跑分结果不可信九成问题出在测试之前。下面四件事我每次换盘都会过一遍全部用系统自带命令完成不用装额外工具。# 1) 看盘挂在哪条总线上BusType 为 USB 或 RAID 时结果不能当盘的真实性能 Get-PhysicalDisk | Select-Object DeviceId, FriendlyName, MediaType, BusType, {nSizeGB;e{[math]::Round($_.Size/1GB,0)}}, HealthStatus # 2) 看分区起始偏移Offset 能被 4096 整除才算 4K 对齐 Get-Partition | Where-Object DriveLetter | Select-Object DiskNumber, DriveLetter, Offset, {nAligned4K;e{ ($_.Offset % 4096) -eq 0 }}第一段命令里BusType是判断结果有效性的第一道闸。SATA 盘显示SATA、M.2 盘显示NVMe才正常如果显示USB说明盘走的是外置转接测出来的是桥接芯片的上限不是盘的上限显示RAID则说明被阵列卡或存储池接管了数值参考意义有限。MediaType用来确认系统没把 SSD 误认成 HDD。第二段命令看的是分区偏移。Offset是分区在物理盘上的起始字节位置Aligned4K为True表示对齐正确。传统机械盘时代留下的 63 扇区偏移在 SSD 上会让一次 4K 读写跨两个物理页随机性能能掉三成以上这是 4K 数字异常最常见的元凶之一。# 3) 查 TRIM 状态返回 DisableDeleteNotify 0 表示 TRIM 正常工作 fsutil behavior query DisableDeleteNotify # 4) 查当前电源计划并临时切到高性能 powercfg /getactivescheme powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635cfsutil那条命令里DisableDeleteNotify 0是期望值为1说明 TRIM 被禁用长期使用后写入性能会明显下滑测出来的分数也会偏低。powercfg的两个 GUID 是系统内置的电源方案标识8c5e7fda-...对应高性能笔记本用电池供电时会自动降频、限制 PCIe 链路电源管理同一块盘插电和不插电能差出 10% 以上测试时务必插电。2.3 一次标准测试的执行顺序与结果存档环境确认完正式跑分的动作其实很短在下拉框选目标盘符测试大小先保持默认的 1GB点 Start等一到三分钟出结果。结果区会给出两组读写数字加两组访问时间顺序是 Seq、4K、4K-64Thrd、Acc Time。第一次跑完不要急着下结论先让盘静置两三分钟再跑一次。刚做完大量写入的盘主控还在后台做垃圾回收和 SLC 缓存回写这时候测出来的数字偏低是正常现象直接拿第一次的结果去和别人的截图比属于自找不痛快。结果存档我习惯用截图加手抄两条路。程序的结果区可以选中复制粘贴到文本里就是一份纯数字记录截图则保留了界面上的盘符和测试大小事后对账不容易搞混。存的时候把日期、盘符、测试大小、当时该盘的占用率一起记下来只存分数不存上下文过两周自己都看不懂那串数字是哪次测的。3. 四个测试模式与分数构成把五千分拆开看3.1 Seq / 4K / 4K-64Thrd / Acc Time 各自在压什么四个项目对应四种完全不同的负载混在一起看总分等于把体检报告上的身高体重血压揉成一个数字。测试项压的是什么对应的真实场景经验区间SATA经验区间NVMeSeq 顺序读写大块连续传输队列深度 1拷贝大文件、装游戏、剪视频素材导入读 500-560 MB/sPCIe 3.0 读 3000-3500PCIe 4.0 读 5000-7000 MB/s4K 随机单队列4KB 小块、队列深度 1开机、软件启动、系统盘日常响应读 30-45 MB/s读 50-90 MB/s4K-64Thrd4KB 小块、队列深度 64多任务并发、数据库、虚拟机读 250-400 MB/s读 1500-3000 MB/sAcc Time 访问时间单次随机访问的响应延迟体感「跟不跟手」0.05-0.15 ms0.02-0.06 ms表里的区间是多年看下来的经验范围受固件、平台、驱动影响会有出入但量级不会错。顺序读写决定你拷一部 20GB 的片子要多久4K 单队列决定你点开浏览器是秒开还是转圈4K-64Thrd 决定你同时开十个程序时系统会不会卡成幻灯片访问时间则是这三者之外的独立维度——它不看吞吐只看延迟。机械盘在这一项上是 12ms 起步SSD 是 0.0x ms两者差了两个数量级所以访问时间是区分盘类型最直接的一项也是最容易因为权限不足而测不出来的一项。3.2 总分是怎么算出来的权重不是平均分程序会给一个总分但这个分数的计算权重官方并没有完整公开社区里流传的公式都是靠大量样本反推出来的近似不同版本之间还可能微调。能确定的是权重排序4K-64Thrd 占比最高4K 单队列次之Seq 再次访问时间更多是作为扣分项存在延迟高一截会把总分明显拉下来。这个权重设计其实挺合理。日常使用中绝大多数 IO 都是小块随机真正跑满顺序带宽的场景只有拷贝和安装。所以一块 Seq 读 7000MB/s 但 4K 单队列只有 40MB/s 的盘总分未必比一块 Seq 读 3000MB/s 但 4K 单队列有 80MB/s 的盘高而后者在开机、开软件、切窗口这些动作上体感更好。反过来说总分只适合做粗筛。两块盘总分差 5% 以内基本可以认为没有区别差 10% 以上才值得看细项找出差在哪个项目上。我见过有人拿着两块盘的总分差 80 分纠结半天结果细项一看差异全在 Seq 写入上而他的实际用法根本不涉及大文件写入这 80 分对他的意义是零。3.3 不可压缩数据与压缩测试基准AS SSD 在正式测试时用的是随机不可压缩数据这一点和部分用全零填充的测速工具不一样。差别在于主控如果带实时压缩能力用全零数据测出来的写入速度会虚高因为数据被压缩后实际落盘的字节数变少了。用随机数据测压缩无从下手得到的才是真实的落盘吞吐。程序里还有一个压缩测试基准跑出来是一条横轴为压缩率、纵轴为速度的曲线。早年带压缩主控的盘这条曲线会随着压缩率升高明显上扬现在的盘基本是一条接近水平的直线因为主控不再做这件事了。这个功能现在的实用价值不大但如果你想确认某块盘是不是老架构、或者怀疑买到了改标盘跑一次看曲线形状比看外观靠谱。3.4 分数能不能跨平台比不能至少不能直接比。4K 单队列这一项受 CPU 单核频率和中断处理效率影响很大同一块盘在高低频 CPU 上能差出 15%存储驱动的差异也会体现在数字上系统自带驱动和厂商驱动在队列调度策略上不一样4K-64Thrd 的结果可能相差几百 MB/s。所以看待跑分的正确姿势是同一台机器、同一套驱动、同一个测试大小下的纵向对比才有意义用来判断换固件、清灰、改散热、调占用率之后有没有改善。跨机器比分数只能看量级不能看小数点。4. 参数逐项调测试大小、队列深度与盘符怎么设4.1 测试大小1GB 和 10GB 测的是两块盘测试大小有 1GB、3GB、5GB、10GB 几档默认 1GB。这个参数是整篇里最值得琢磨的一个因为它直接决定了你测的是「缓存内的盘」还是「缓存外的盘」。现在绝大多数消费级 SSD 都带 SLC 缓存机制盘上有一部分空间被划成高速缓存区写入先落到这里速度能跑到接口上限缓存写满之后新数据要一边往 TLC/QLC 区域搬一边接收新写入速度会掉到缓外水平跌幅可能是三到五倍。1GB 的测试量对一块 1TB 的盘来说连缓存的边都摸不到测出来的 Seq 写入是缓存速度不是盘的持续写入能力。要看到真实的持续写入表现得用 5GB 或 10GB 模式。空盘状态下先跑 1GB 拿一个「最佳状态」的基线再用 10GB 跑一次看缓外速度两次结果放在一起才是这块盘的完整画像。二手盘复检尤其要跑大文件模式缓存内的数字谁都好看缓外掉成 U 盘的才是问题盘。4.2 队列深度与线程4K-64Thrd 的数字为什么和 4K 差十倍同一个 4KB 块大小单队列和 64 队列的结果能差十倍以上原因不在盘在并发。队列深度指的是同时有多少个 IO 请求在盘上排队等待处理队列深度 1 意味着一次只有一个请求主控的多个闪存通道大部分时间闲着队列深度 64 意味着主控可以并行调度到所有通道吞吐自然成倍上升。消费级盘和企业级盘在这一项上的差距最明显。企业盘的主控队列深度做得很深4K-64Thrd 能接近甚至超过顺序读的一半很多入门级消费盘受主控和 DRAM 缓存限制队列深度上去了但调度不过来64 队列的结果只有单队列的三四倍远达不到线性增长。这一项的结果要结合用途看。如果你只是办公、上网、打游戏队列深度长期在个位数徘徊4K-64Thrd 高低对你的体感影响很小如果你跑虚拟机、做本地数据库、开多个编译任务这一项才是决定性的。买盘前看评测先想清楚自己属于哪一类。4.3 盘符、占用率与写入放大的关系测试盘符选哪个取决于你想验证什么。系统盘测出来的是「你日常真实体验的那块盘」但后台的索引、更新、日志会持续干扰数字波动大数据盘干净结果稳定但不代表系统盘的表现。我的做法是两个都测系统盘测三次取中位数用来做纵向对比数据盘测一次做参考。占用率是另一个隐性变量。SSD 在空闲块充足时写入可以直接落到空白页占用率超过 70% 之后每次写入都要先擦除再写写入放大上升4K 随机写入会明显下滑部分盘在 85% 以上时掉速能到一半。所以基线要在低占用率时建立如果你想知道「盘快满了会不会卡」那就在高占用率时再测一次两次数据的差值就是这块盘的空间敏感度。4.4 参数组合速查你想验证的事测试大小重点看备注新盘是否正常1GBSeq 是否接近接口上限先对齐、先开 TRIM持续写入能力5GB 或 10GBSeq 写入的缓外值空盘与半满各测一次日常响应快慢1GB4K 单队列读受 CPU 影响大多任务与并发1GB4K-64Thrd消费盘不必强求二手盘复检10GB缓外写入 访问时间异常低的 Acc 要警惕散热是否压得住10GB 连跑三次第三次的 Seq 写入掉速明显说明撞温度墙5. 避坑与排查跑分忽高忽低的六个真实原因5.1 第二次跑分比第一次低一截现象同一块盘连着跑第一次 Seq 写入 3000MB/s第二次掉到 1800第三次更低。原因是 SLC 缓存被上一次测试写满了主控还在后台把缓存数据往慢速区域搬这时候新写入要排队。解决方式是每次测试之间留 5 到 10 分钟静置时间让后台整理跑完如果盘有散热马甲而温度已经上到 70 度以上还要等温度回落。连跑三次取中位数比只跑一次可靠得多。5.2 4K 随机只有个位数现象Seq 读写都正常4K 单队列读只有 5-8MB/s远低于同级别盘。先查 4K 对齐用第 2 章的Get-Partition看Offset能不能被 4096 整除这是最常见的原因。对齐没问题的话看盘的占用率是不是已经超过 85%或者这块盘是不是无 DRAM 缓存的入门型号——后者在小块随机上天生吃亏不是故障。还有一种情况是盘被存储池或软 RAID 接管随机性能被中间层吃掉需要先拆出存储池再测。5.3 访问时间那一栏空着或者报错现象其他三项都有数Acc Time 显示空白或者提示读取失败。根因通常是权限不够程序没有拿到直接访问物理设备的句柄。用管理员身份重新启动即可。如果已经是管理员还报错检查目标盘是不是正被系统独占比如页面文件、休眠文件全在这块盘上换一个分区或者换一块盘测。极少数情况是主板芯片组驱动过旧底层访问被拦截更新芯片组驱动后再试。5.4 分数高得不符合物理规律现象SATA 盘跑出 3000MB/s 的顺序读或者总分比同型号评测高出一大截。先确认测的是不是物理盘。系统里如果装了第三方缓存软件、内存盘、或者把测试目录做了符号链接指向别的卷测出来的就是缓存的速度而不是盘的速度。检查方法很简单看测试时任务管理器的磁盘活动如果盘的活动时间接近 0 而速度很高数据根本没落到盘上。另一种可能是盘走了 RAID 卡的写缓存关掉回写缓存再测一次。5.5 SATA 盘只跑出两百多现象确认是 SATA 接口的 SSD顺序读只有 200-250MB/s怎么测都上不去。按概率排接口插在了 SATA 2 口上上限 300MB/s换到标着 SATA 3 的口数据线老化或者接触不良换一根盘走了 USB 转接盒BusType会显示USB这种结果不能作为盘本身的性能。还有一种隐蔽情况是主板 BIOS 里 SATA 模式被设成了 IDE 兼容模式改成 AHCI 后性能才正常改之前记得先确认系统能正常引导。5.6 解压后双击没反应现象双击 exe 没界面或者一闪而过。检查解压路径有没有中文和空格挪到D:\Tools\ASSSD\这类纯英文短路径再试。检查是不是被杀毒软件的实时防护直接拦了把目录加进排除项。检查压缩包是不是解压完整有些下载工具解压大包时会漏文件重新解压一次能解决大部分莫名其妙的问题。6. 把跑分变成可复现的数据一份基线表与三次取中位数单次跑分的价值很低真正有用的是同一块盘在不同时间点的对比。我现在的习惯是每接一块新盘先建一张基线表之后每次动过散热、换过固件、清理过空间都往里追加一行。字段填什么为什么重要日期精确到分钟和系统更新、驱动变更对得上盘代号自编编号不用型号全称避免混淆同型号多块盘接口与总线SATA / NVMePCIe 代数判断是否跑在该有的通道上测试大小1GB / 5GB / 10GB缓存内和缓存外不能混着比占用率测试时该盘已用百分比超过 70% 的数据要单独标注六项数值Seq、4K、4K-64、Acc 各读写只看总分容易漏掉单项异常温度测试结束时读数高温掉速的必要上下文手动填表容易漏字段我一般用一段脚本把每次结果追加进 CSV字段顺序固定后面直接做差值和趋势。# 一次跑分结束后把结果追加到基线表字段顺序固定方便后续对比 $row [pscustomobject]{ Date (Get-Date).ToString(yyyy-MM-dd HH:mm) Drive D # 测试盘符 Bus NVMe # SATA / NVMe / USB TestSize 1GB # 与程序里选的测试大小保持一致 FillRate 35 # 测试时该盘占用率百分比整数 SeqRead 0 # 以下六项直接抄结果区数字单位 MB/s SeqWrite 0 Rnd4KRead 0 Rnd4KWrite 0 Q64Read 0 Q64Write 0 AccReadMs 0 # 访问时间单位 ms保留两位小数 AccWriteMs 0 TempC 0 # 测试结束时的盘温 } $row | Export-Csv -Path .\ssd-baseline.csv -Append -NoTypeInformation -Encoding UTF8-Append保证每次追加而不是覆盖-NoTypeInformation去掉首行的类型声明-Encoding UTF8避免中文路径或备注乱码。FillRate和TempC这两个字段看起来多余实际是最有用的排查线索——同一块盘两次跑分差 30%如果两次的占用率差了一倍那差异就有解释了不用疑神疑鬼。有了这张表判断一块盘有没有「变差」就有了依据连续三次同条件测试取中位数和基线比掉超过 10% 才值得深挖。三次取中位数这个动作听起来繁琐但它能过滤掉后台更新、温度波动、缓存未恢复这些一次性干扰是成本最低的可靠性手段。从那以后我每接一块盘不管新旧都先把环境清单过一遍、跑三次取中位、把结果写进基线表再谈这块盘好不好。跳过这一步直接看总分翻车是迟早的事。压缩包解压完先别急着点 Start把第 2 章那几条命令跑一遍你的第一个数字才值得相信。希望帮到你。本文还有配套的精品资源点击获取