跳转至

结果分析

跑完 Vdbench 后,先不要急着看所有文件。新手只需要先抓住几个最关键的报告,确认三件事:

  1. 这次到底跑了什么
  2. 跑出来的速率和时延大概怎样
  3. 参数文件是否按自己的预期被解析和执行

先看什么

建议按下面的顺序看结果目录里的文件:

  1. summary.html
  2. totals.html
  3. flatfile.html
  4. histogram.html
  5. parmfile.html
  6. parmscan.html

如果是文件系统测试,还可以继续看锚点、主机或 FSD/FWD 相关页面;如果是块设备测试,还可以继续看 sd*.htmlsd*.histogram.html

summary.html

这是最适合第一眼查看的总览页。

你通常可以在这里快速确认:

  • 本次执行是否成功结束
  • 主要报告文件的入口链接
  • 每个 RD 的总览结果
  • 是否存在明显错误或异常提示

如果你只想先判断“这次测试是不是基本跑对了”,优先看它。

totals.html

这个页面更适合看总量结果。

重点关注:

  • IOPS 或总 Ops
  • 吞吐量(MB/sec
  • 平均响应时间(resp
  • 队列深度、读写比例等关键统计

对新手来说,这个页面的用途是快速判断:

  • 限速测试是否真的被限制在预期范围
  • iorate=maxfwdrate=max 时大概跑到了什么水平
  • 改了线程数或块大小后,整体结果有没有明显变化

flatfile.html

这是后续做整理、对比、画图时最重要的原始数据来源之一。

它适合:

  • 导出到表格工具做对比
  • 配合 parse/parseflat 类工具做筛选
  • 看每个时间区间的细粒度结果

如果你只是人工看结果,第一次不用先啃它;但只要准备做多轮测试对比,它就会很有用。

histogram.html

这个页面用于看时延分布,而不只是平均值。

什么时候特别值得看:

  • 平均响应时间看起来正常,但业务体感很差
  • 你怀疑有尾延迟问题
  • 你在做曲线压测,想知道高负载下时延是均匀上升,还是已经出现长尾

平均值只能告诉你“整体大概怎样”,直方图才能告诉你“慢请求是不是正在变多”。

parmfile.html

这个页面会保存本次执行时使用的参数文件内容。

它很适合回答一个非常实际的问题:

我这次到底是拿哪份脚本、哪组参数跑出来的?

当结果目录很多,或者你在命令行里用了变量替换、include=、不同的 -o 输出目录时,这个文件很重要。

parmscan.html

这个页面用于看参数解析过程。

它特别适合排查下面这些问题:

  • 某个参数为什么没有生效
  • 某个缩写为什么被识别错了
  • include= 到底按什么顺序被展开了
  • 参数扫描在什么位置报错或停止

只要你怀疑“脚本写得没问题,但 Vdbench 执行得不对”,这个文件就值得优先看。

新手常见查看顺序

一个更实际的习惯是:

  1. summary.html,确认测试成功且主结果正常
  2. totals.html,确认速率、吞吐、时延大致符合预期
  3. parmfile.html,确认本次使用的脚本内容没跑偏
  4. 参数有疑问时看 parmscan.html
  5. 想做更细的分析时再看 flatfile.htmlhistogram.html

什么时候说明“跑错了”

下面这些现象通常意味着本次结果不宜直接拿来对比:

  • summary.html 或日志里存在明显错误
  • parmfile.html 显示的参数并不是你以为的那份脚本
  • parmscan.html 里出现参数扫描异常
  • 速率结果与设定值完全不在一个数量级
  • 文件系统测试里先前预埋的数据结构和本次 FSD 定义不一致

下一步

如果你已经能读懂这几个结果文件,下一步建议进入进阶营: