加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

大神教你玩转 SSD 系列三:数据处理

发布时间:2021-01-14 20:42:34 所属栏目:电商 来源:网络整理
导读:《大神教你玩转 SSD 系列三:数据处理》要点: 本文介绍了大神教你玩转 SSD 系列三:数据处理,希望对您有用。如果有疑问,可以联系我们。 如何评估固态存储设备的性能,并根据业务需求挑选出合适的SSD产品?在之前两篇文中,介绍了 SSD 基准测试应该关注哪些指
副标题[/!--empirenews.page--]

《大神教你玩转 SSD 系列三:数据处理》要点:
本文介绍了大神教你玩转 SSD 系列三:数据处理,希望对您有用。如果有疑问,可以联系我们。

如何评估固态存储设备的性能,并根据业务需求挑选出合适的SSD产品?在之前两篇文中,介绍了 SSD 基准测试应该关注哪些指标以及测试环境,今天我们把最后一个主题也分享给大家——数据处理.

前言

本系列将分为以下 4 个主题进行介绍.

一、SSD基准测试应该关注哪些指标

二、基准测试环境(工具/磁盘要求等)

三、针对磁盘的具体测试项目

四、数据处理

本篇主要介绍第四点——数据处理,在后面的文章推送中会继续将把本系列的其他各主题分享给大家.

数据处理

如果记录原始log,日志都很大,好处是可以利用这些原始日志按照想要的粒度随意进行多次的拆分.

下面是之前测试记录的原始日志.

  1. 2016/09/21 ?10:25 ? ?<DIR> ? ? ? ? ?.
  2. 2016/09/21 ?10:25 ? ?<DIR> ? ? ? ? ?..
  3. 2016/09/19 ?01:30 ? ? 1,027,468,938 log_read_fio_4k_qd16_bw.1.log
  4. 2016/09/19 ?01:31 ? ? ? 955,376,526 log_read_fio_4k_qd16_clat.1.log
  5. 2016/09/19 ?01:32 ? ? ? 864,600,350 log_read_fio_4k_qd16_iops.1.log
  6. ......此处省略若干行......
  7. 2016/09/19 ?12:43 ? ? 2,890,345,859 log_write_fio_4k_qd8_bw.1.log
  8. 2016/09/19 ?12:47 ? ? 2,678,596,965 log_write_fio_4k_qd8_clat.1.log
  9. 2016/09/19 ?12:49 ? ? 2,432,692,073 log_write_fio_4k_qd8_iops.1.log
  10. 2016/09/19 ?12:45 ? ? 2,904,975 log_write_fio_4k_qd8_lat.1.log
  11. 2016/09/19 ?12:46 ? ? 2,510,603,551 log_write_fio_4k_qd8_slat.1.log
  12. ? ? ? ? ? ? ?60 File(s) 85,850,810,754 bytes
  13. ? ? ? ? ? ? ? 2 Dir(s) ?279,943,782,400 bytes free

解释一下其中的命名,前面的 logxxxfio_xxx基本都一样,是用户指定的前缀.
后面的 iops,clat,slat,lat,bw 等是对应的测试项.

bw 是带宽
clat slat 和 lat 是每次 io 操作的延迟.
其中 slat 是io请求提交到操作系统,得到响应的时间,经过分析发现这个时间一般都很短,可以忽略.
clat 是 io 操作完成所需要的时间,一般来说可以认为是 设备从接到 io请求到完成的时间. lat 就是整个时间了,so,clat + slat = lat. 但由于 slat 很小,看 lat 和 clat 区别不大.既然是做磁盘基准测试,瓶颈总不能在操作系统吧,因而后期的测试都指定了 disable clat 和 slat .

原始日志格式如下:

fio 带宽log

  1. # fio bandwidth log
  2. 0, 21005, 0, 4096
  3. 0, 20378, 21222, 22755, 4096

fio iops log

  1. # fio iops log
  2. 0, 1, 4096

fio 延迟 log

  1. # fio s / c / latency log
  2. 0, 453, 435, 436, 4096

格式比较好猜.除了那一排0,于是 google,有人问过了:http://www.spinics.net/lists/fio/msg01064.html

如果记录的原始值,剩下的问题就是套路了,按照需要的分度做一些简单的加和,最大值最小值运算统计:

log文件结构都很简单,很容易改成 csv,并保留原始数据.其中bw数据可能会让人感觉有点奇怪.搜到的解释:

Time: in milliseconds. Bandwidth logs are usually 500 or 1000ms apart;
that can be controlled by the config file with “bwavgtime=[x ms]”.
Rate/latency: for bandwidth,this is in KB/sec. For latency,it’s microseconds.

然而实际计算发现,bw 的数据并没有那么平均,而是每次完成io之后,block size / clat 的值. 既然fio都这么设计,那bw log实际上来看用处已经不大,因为有iops log + clat log,一样的. 于是作图中,也选用clat,忽略 lat和slat了,毕竟 slat 都很小(对于sata设备来说忽略不计),clat和lat基本就一样了.

文件大小也小了好多好多.其实如果指定了采样间隔,fio自身生成log也跟这个类似,实际测试可以考虑直接指定对应参数. 数据文件处理完毕,可以按照需求作图了,作图可以直观的看到趋势,更容易发现问题.

这是测试中的两款磁盘,都直接从稳定态开始进行的测试,由于持续读写测试没有太大意义,故不做介绍,以4K随机为例做一个对比
先上两张随机读取的对比图:

Read Latency SanDisk

Read Latency Micron

Read iops SanDisk

大神教你玩转 SSD 系列三:数据处理

Read iops Micron

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读