POST 置顶

SSD 基准测试:把 AS SSD 那六项搬进飞牛,新盘到手先跑一遍

图吧那个 AS SSD 是 Windows 程序,搬到 Linux 上不是装个 Wine 就行——它拿不到裸盘。这个包把它的六项测试用原生 O_DIRECT 重做了一遍,装完点开就能测。

新加一块 SSD,插上飞牛、建好存储空间,然后呢?

绝大多数人的下一步是「感觉一下快不快」。可感觉这东西最不可靠:第一次拷文件时缓存是空的,第二次就快了;后台正在刮削、正在同步、正在跑虚拟机,数字也会漂。

想要个数字,就得跑测试。Windows 上大家都用图吧工具箱里那个 AS SSD Benchmark——界面朴素,六项测试一目了然。问题是它是 Windows 程序。

为什么不能直接套 Wine

AS SSD 的工作方式很「原生」:它通过 \\.\PhysicalDriveX 拿到物理盘句柄,再用 DeviceIoControl 问盘要型号、要容量、要缓存策略。

Linux 内核里没有这套 NT 的 IOCTL 通道。所以在飞牛上装 Wine 再跑它,会出现两种结果:

  • 界面能开,按开始,报错或直接卡住;
  • 勉强跑起来了,但读写走的是内存映射,测出来的是内存速度,不是盘。

有人说套个 Xvfb + noVNC 搞成网页桌面就行——画面是能出来,可底下那条通道还是断的,数字照样不可信。

所以这个包换了个做法:不套 Wine,把它的测试项按原样重写一遍。

它测什么

六项,和 AS SSD 的表格一一对应:

  • Seq:1 MB 顺序读写,看持续带宽;
  • 4K:4 KB 随机,队列深度 1,日常小文件就是这个场景;
  • 4K-64Thrd:4 KB 随机,约 QD64,看主控并发;
  • Acc time:4 KB 随机采样 512 次,给平均、中位、P99 三个延迟数字。

实现上不做花活:

  • 测试文件在目标空间里预分配(默认 1 GB),用带 O_DIRECT 标志打开,读写走页对齐缓冲,绕开 page cache;
  • 每项开始前调 fadvise 丢弃缓存,写入项结束做 fsync;
  • 4K-64 那一项单靠 Python 线程压不上去(GIL 顶着),所以拆成 8 个进程、每个进程 8 条线程,加起来约 64 的并发深度。

最后给一个综合分,怎么算的下面单独说。

装和用

应用中心 → 设置 → 离线安装,选本地那个 fpk。装完桌面多一个「SSD 基准测试」图标,点开就是 Web 界面。

三步:

  1. 下拉框会列出所有挂载点,选新 SSD 那个 /volX;列表空的话,右边手动填目录;
  2. 数据量先选 512 MB 试一次,确认没问题再上 1 GB;
  3. 「绕过系统缓存」保持 是,然后点开始。

八项跑完,表格实时填数,点「保存结果」会落一份 JSON 到应用数据目录,方便前后对比。

整个包 50 KB,纯 Python 标准库,不装 fio、不拉镜像、不起容器。

关于数据安全

它不碰裸设备、不碰分区表、不格式化,只在你选的那个目录里建一个 .sssdbench.tmp,测完自动删,中途停止也删。

但它是真写。所以:

  • 新盘空盘最合适,尤其是有写入项的那几行;
  • 别拿装着重要数据的盘跑写入;
  • 网络盘(SMB/NFS)上 O_DIRECT 可能不生效,数字会偏高,测本地存储空间才准。

评分那栏,我把话说清楚

AS SSD 的官方评分公式没有公开。社区里流传的几套复刻互相矛盾,谁都说自己对。

所以这里没有假装复刻。用的是固定参考点线性归一:每项按一个参考值折算成 0~2000 分,再按权重加总成读取分和写入分。参考值大致对应一块 SATA SSD 的中位表现。

结论就是:这个分数只适合在你自己这台机器上横向比,换盘前后、换缓存前后、换盘位前后,看它有没有变化。拿它去对网上 AS SSD 的截图分,会失望。

排错

磁盘列表是空的:系统里没有 lsblk,装 util-linux;或者直接手动填目录。

提示目录不可写:应用以 root 跑,还写不进去,多半是存储空间只读,或者被 ACL 挡住了。

4K-64 数字明显偏低:先看日志里有没有子进程异常;虚拟机里限了核、限了 IOPS 也会这样。

数字比 Windows 上高:检查「绕过系统缓存」是不是被关掉了——关掉之后测的是内存。

装完第一件事建议看日志:/var/apps/sssdbench/var/sssdbench.log,确认里面写着 O_DIRECT=True,再上 1 GB 正式测。

小结

这类工具的价值不在分数高低,而在于给你一个可重复的对照。

换盘前跑一次,换盘后跑一次;加缓存前一次,加完一次。有数字,就知道钱花得值不值,也不会被「感觉快了」骗。

需要说明的是:这是按 AS SSD 的测试语义重写的工具,不是原程序的移植,界面像但不等于它,评分也不是官方口径。想和网上截图对齐,还是得回 Windows 上跑原版。

👁 - 次浏览

留言

← 返回首页