新手向NAS教程 篇六十五:教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

2023-10-04 13:50:12 18点赞 73收藏 2评论

NAS最本质的功能是存储与传输,不管厂商多加了什么花里胡哨功能,对用户而言读写性能永远是最重要的,只不过现在大部分NAS都无法进行直接准确的读写量化测试,用户遇到传输慢或者掉速会比较难定位问题点。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

本文分享下量化NAS读写能力的测试教程,对应测试硬盘+运行硬件+NAS系统的综合性能,适用几乎所有品牌NAS,也欢迎大家把测试结果发在评论区共享,觉得有所帮助欢迎关注点赞收藏三连,有复杂问题咨询请单独联系。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

⏹ 测试逻辑说明

在正式开始教程前,先和大家分享一下读写性能相关的基础知识。

1️⃣ 存储硬件与存储池的区别

不管NAS新手老手应该都知道,初次使用必定有创建存储池这一步,如果这里选择RAID,可以简单理解为将多块物理硬盘合并一块虚拟硬盘。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

除了RAID-0以外都是以镜像备份形式保护数据,组建RAID后会导致可用容量下降+读写能力下降,由于不同硬件+系统优化水平不同,不同NAS的最终读写性能表现也会有所区别。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

除了RAID以外,不同文件系统也会影响传输性能,比如btrfs和ext4就会有性能上的差别,用固态硬盘做加速的话差别会更大。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

2️⃣ 测试使用工具说明

Windows系统有CrystalDiskMark和ASS SD Benchmark等知名测试工具,这里为新手朋友介绍下关键数据:

● 第一是顺序读写速度,单位为MB/s,测试结果越大越好,对应大文件的读写能力。

● 第二是随机读写速度,单位为MB/s,测试结果越大越好,对应小文件的读写能力。

● 第三是读写延迟,单位为ms,测试结果越小越好,对应响应速度。

这三类数据综合起来看,才能完成评估设备的理论传输能力,如果是走网络协议,最终传输速度还会受到路由器限制,后续有机会单独再出一篇说吧。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

常规NAS几乎都是以Linux为内核,当然也就用不了上述工具,Linux目前除了文件系统本身自带的Benchmark以外,主流是用FIO进行评估测试,本次教程的核心工具也是它。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

⏹ 测试前置准备

动手前先需要了解在用NAS是否适用本次教程,同时也需要准备必要的软件。

1️⃣ NAS厂商支持说明

首先你得有台NAS,适用本次教程的NAS型号不限,处理器不区分ARM和X86架构,只要能SSH+支持Docker就行,群晖、威联通、万由和铁威马肯定可以。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

需要注意一点,群晖和威联通自带了测速工具,只不过测试的是硬盘本身的性能,并不能测试存储池的性能,这两者的区别上文说过不再赘述。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

尝试了下极空间和绿联,用内置Docker管理器并不能赋予容器完整的特权模式,这会导致创建测试文件会失败,请自行搜索这类轻NAS的SSH登录方法,省的这两家又碎碎念我。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

2️⃣ 必要工具和NAS状态说明

不同NAS的内置Docker管理器会有所区别,分开讲解起来会非常麻烦,本文偷个懒,统一用第三方SSH工具作为演示,我用的是FinalShell,请去官方下载一下。

http://www.hostbuf.com/t/988.html

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

动手测试前请确认两点:

● 先给NAS创建好存储池,尽量在空盘状态下进行测试,已有的存储池需要预留100G及以上的的空闲空间。

● 如果有多个存储池且想全方位测试读写能力也是可以的,分几次挂载不同存储池跑就行,这也是本次分享的意义所在。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

⏹ 部署测试环境

几乎所有NAS都不允许直接安装第三方软件,这里用容器版本的Ubuntu曲线救国,整个测试流程有两个注意点:

● 第一是准确的在目标存储池上创建容器的挂载文件夹,不然测试的可能是其他存储池。

● 第二是需要正确赋予Ubuntu容器特权模式,不然会出现FIO卡创建测试文件的问题。

如果看不懂上面这两句话也问题不大,严格跟着下文走就不会出错,除了挂载文件夹以外,不同NAS操作上的区别不大。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

下面开始正式教程,先确认要测试的存储池是哪个,点击设置中的共享文件夹选项就能看到。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

第一步,先创建挂载用文件夹,创建完成后右键该文件夹,确认该文件夹的真实路径,部分NAS可能要手动加上,我这里是:

/volume1/docker/ubuntu

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

第二步,SSH登录NAS,登录后用切换到su模式,输入:

sudo -i

按回车键(enter)确认

按照提示输入密码,这里看不到输入的密码,盲打。

按回车键(enter)确认

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

第三步,部署容器版本ubuntu,将黑体字替换成刚创建好的文件夹真实路径:

docker run -it -v /主机路径:/mnt --privileged ubuntu bash

这里我修改为:

docker run -it -v /volume1/docker/ubuntu://mnt --privileged ubuntu bash

按回车键(enter)确认

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

正确部署完应该如下图所示,已经用特权模式登录到Ubuntu的容器,而不是SSH登录NAS,切记检查一下,至此测试环境已经部署完成,这个窗口不要关,开始安装FIO。

PS:如果这时候不小心把ssh给关了,或者后期要重新做测试,重新SSH登录后输入上面代码就可以重新进入。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

⏹ 安装测试工具

第一步,更新Ubuntu的软件源,输入:

apt update

按回车键(enter)确认

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

第二步,等待更新完成后,安装fio,输入:

apt install fio

按回车键(enter)确认

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

期间会按下图所示提示是否继续执行,输入:

Y

按回车键(enter)确认

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

等全部执行完成后应该如下图所示,至此fio安装完成,窗口不要关,下面开始实际测试环节。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

⏹ 执行读写测试

第一步,创建一个用于存放测试文件的文件夹,输入:

cd /mnt

按回车键(enter)确认

mkdir test

按回车键(enter)确认

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

接下来开始运行fio进行测试,下面四行代码分别对应顺序读取、顺序写入、随机读取和随机写入,切记单次只能执行一个任务:

顺序读取

fio --filename=/mnt/test/testfile --size=100GB --direct=1 --rw=read --bs=128M --ioengine=libaio --iodepth=32 --runtime=120 --numjobs=4 --time_based --group_reporting --norandommap --name=iops-test-job --eta-newline=1

顺序写入

fio --filename=/mnt/test/testfile --size=100GB --direct=1 --rw=write --bs=128M --ioengine=libaio --iodepth=32 --runtime=120 --numjobs=4 --time_based --group_reporting --norandommap --name=iops-test-job --eta-newline=1

4K随机读取

fio --filename=/mnt/test/testfile --size=100GB --direct=1 --rw=read --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name=iops-test-job --eta-newline=1

4K随机写入

fio --filename=/mnt/test/testfile --size=100GB --direct=1 --rw=write --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name=iops-test-job --eta-newline=1

复制代码后按回车执行,测试时间可能会比较长,请耐心等待。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

⏹ 测试结果解析

这里我以随机读取的结果为例,关键数据如下图所示:

● 上红框为平均值,包含速度和IOPS两个单位。

● 下红框为详细数据,包含速度和IOP两项的平均值、最小值和最大值。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

细心的朋友应该发现,fio没有读写延迟的统计,可以通过iostat命令可以另外查看,输入:

iostat -x

下图圈出来的两处,左侧框是读取延迟,右侧框则是写入延迟。

教你正确量化测试NAS读写性能丨群晖威联通华硕等通用部署教程

⏹ 总结

本文到这里就结束了,给一拉到底的朋友画个重点:

🔘 这套测试流程基于Docker和FIO这俩工具,部署的前提是NAS内置可以赋予特权模式的Docker管理器,如果没有那只能走SSH部署。

🔘 通过本教程可以直接测试NAS上某个存储池的顺序读写和随机读写数据,和硬盘本身读写能力有一定的区别,具体看开头的说明。

以上就是本次分享,感谢观看。

展开 收起

群晖(Synology)DS224+四核心双盘位NAS网络存储服务器私有云家庭相册文件存储共享

群晖(Synology)DS224+四核心双盘位NAS网络存储服务器私有云家庭相册文件存储共享

暂无报价 去购买

威联通(QNAP)TS-264C宇宙魔方8G内存2盘位四核心处理器网络存储服务器内置双M.2插槽NAS私有云

威联通(QNAP)TS-264C宇宙魔方8G内存2盘位四核心处理器网络存储服务器内置双M.2插槽NAS私有云

暂无报价 去购买

万由U-NASHS-201P双盘位J4125NAS文件存储服务器私有云NAS存储设备照片文件太空灰内存4GB

万由U-NASHS-201P双盘位J4125NAS文件存储服务器私有云NAS存储设备照片文件太空灰内存4GB

暂无报价

铁威马(TERRAMASTER)F4-423(4G)4盘位NAS网络存储服务器(intel四核、4G内存)

铁威马(TERRAMASTER)F4-423(4G)4盘位NAS网络存储服务器(intel四核、4G内存)

暂无报价 去购买

极空间私有云Z4S四核8G内存4盘位NAS家庭个人云网盘网络存储服务器(无内置硬盘)珍珠白

极空间私有云Z4S四核8G内存4盘位NAS家庭个人云网盘网络存储服务器(无内置硬盘)珍珠白

暂无报价 去购买

绿联私有云DX4600数据博士8G版四盘位Nas网络存储硬盘服务器(空盘款)文件共享自动备份家庭个人云网盘

绿联私有云DX4600数据博士8G版四盘位Nas网络存储硬盘服务器(空盘款)文件共享自动备份家庭个人云网盘

暂无报价 去购买

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2499元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2699元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3299元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1290.51元起

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

1799元起

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

2099元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4099元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器 手机平板扩容适用iPhone15

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器 手机平板扩容适用iPhone15

1290.51元起

ZSpace 极空间 私有云Q2C四核Nas网络存储服务器 家庭个人云网盘水墨黑

ZSpace 极空间 私有云Q2C四核Nas网络存储服务器 家庭个人云网盘水墨黑

899元起

QNAP 威联通 TS-216 双盘位NAS (ARM Cortex A55、2GB)

QNAP 威联通 TS-216 双盘位NAS (ARM Cortex A55、2GB)

1199元起
2评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
73
扫一下,分享更方便,购买更轻松