设为首页 - 加入收藏 华夏网 (http://www.hxwgxz.com)- 云主机,资讯,互联网,人工智能,云计算,大数据,区块链,VR,站长网!
热搜: 2019 google 中国 2020
当前位置: 主页 > 电商 > 正文

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

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

《大神教你玩转 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

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章