个人使用Nas黑群晖的历史4:速度!速度!还是速度!

2025-02-15 15:27:54 28点赞 138收藏 24评论

从初用手机分享文件只有7MB/s,到100mbps网络的11MB/s,后来升级到了1000mbps的115MB/s,随着数据量增大,当更换到10G网络时,速度的提升变得不那么容易了,颇费了一番周折,我想记录下,这个过程,也许有人看到会有帮助。

如何提升速度?如何提升速度?

使用场景:

Nas有很多使用场景,每个人的用法也不尽相同,如果是为了观影,千兆网络足够,甚至绝大多数情况百兆也行,蓝光原盘的码率也只有6-8M,但是随着数据量的增加,每次移动数据,整理或者访问时千兆网络就显得捉襟见肘了。比如在一个Nas上有100T的数据,当我想要检索访问时,100MB的速度,要完读一次,需要十多天,这是完全无法接受的。升级网络变成了必须。我的访问场景是用PC的windows系统,通过SMB挂在映射磁盘。这应该是比较典型的场景。本文都以次展开,主要讨论如果遇到了速度不达标,应该如何排查,以及在Nas选配时,如何能与自己的目标访问速度匹配。

哪些地方会成为速度的瓶颈?

如果想从应用级别达到满意的速度,应该系统性考虑速度的瓶颈在哪里,这就需要对系统中每个传输环节来注意考量。不言自明的一个前提是,应用的最低速度受限于系统中的最低速度。在千兆以前,速度似乎不是什么难题,比较常见都能跑到110MB,这就是千兆网络的理论速度了,但是如果升级了万兆故事就来了,下文分别从硬件到软件来聊聊系统的速度瓶颈。

硬件:

根据通常的数据流向,当一次访问发起时,数据时这样传输的:

硬盘- 》南桥/Sata转PCI或pcie-》CPU-》内存-》CPU-》南桥/pcie-》网卡—网线—网卡-》南桥/pcie-》CPU-》内存-》CPU-》硬盘。

这个传输路径是典型的路径,并非所有都是这样,而这个路径中的每一个步骤,都有可能是让你整体访问速度降低的瓶颈。

1.硬盘-》南桥:10年之后的机械硬盘普遍使用sata3,6gbps,半双工,出去协议开销,接口极限速度大概550MB,sata2 3gbps,接口极限速度大概260MB。

2.南桥-》CPU intel这边叫做DMI,AMD直接用pcie,版本一一对应,DMI1.0/PCIE1.0*4 1GB(2004),DMI2.0/PCIE2.0*4 2GB(2011), DMI3.0 PCIE3*4 4GB(2015),DMI4.0 PCIE3*8 8GB(2021)

  1. CPU-内存 或者 内存-CPU 与DDR的频率和通道数相关,消费类最多2通道,DDR 400:3.2GB;DDR2 800:6.4GB;DDR3 1600:12.8GB;DDR4 3200:25.6GB;DDR5 6400:51.2GB,双通道翻倍,在万兆网卡的环境中,内存访问速度不会是瓶颈,如果上40G网卡,多通道内存会对访问速度有影响。

  2. 南桥/pcie-》网卡,这里的速度要看pcie的版本和通道数,千兆网卡pcie随便一个单通道就可以,但是对于2.5G/5G/10G,对pcie速度要求超过网卡的速度,10G网卡如果是pcie4.0单通道即可。pcie3.0 需要至少2通道才能跑满,如果是pcie2.0 需要4通道。双10G网口的网卡,会给出pcie 2.0 *8通道。常见的二手服务器卡x540都是这个规格。如果10G网卡插在南桥的pcie上,则会占用南桥到CPU的带宽,对于10G网卡是不推荐的。增加延迟,且会噪声南桥数据量过大。

这里做个总结,CPU和内存之间的带宽,在1GB的速度是不用关心的,如果使用40G网卡,就要关注了,双通道的内存对4G读写是有帮助的。

最容易忽视的两个问题:

1.没关注DMI总线带宽,如果使用较老的硬件,或者奔腾赛扬CPU,DMI版本较低,DMI2.0理论速度2GB, 实际还要打个折扣,实测只有1.5G。DMI是全双工接口,不用考虑双向交互的限制。

2.高速网卡插在了南桥引出的PCIE上,这里的PCIE因为共享DMI总线的带宽,无论如何都不能超过DMI总线的带宽。

硬盘速度

上述是传输链路的速度,再看下硬盘的速度。

机械硬盘以HC550为例,速度曲线如下,外圈最高250MB,内圈最高120MB

个人使用Nas黑群晖的历史4:速度!速度!还是速度!

这个结果已经是机械硬盘中比较优秀的,如果是5400转,或者是2.5寸机械硬盘,那么速度还会严重下降,可能会低至60MB。

固态硬盘速度很好,即使sata接口的老古董,也轻松跑上300MB,空盘上500MB很轻松。M2接口的NVME盘 轻松上GB,对已用容量敏感。通常不是速度的瓶颈。

软件:

这里涉及到了windows 系统,smb协议,Nas 黑群晖系统。

请注意,smb的协议以及windows 资源管理器,对速度也是有限制的。smb 1.0 10MB;smb2.0 200MB,smb 3.0 >2GB, windows资源管理器限制2GB。

smb如果开启签名或者加密会消耗大量cpu算力,打开smb压缩,对部分内容传输速度有提升。

群晖系统的限制不容易给出具体的结论,从官网得知,很多机型可以访问速度到6-7GB,因此群晖的瓶颈很高,对于10G网络还是很轻松。

如何得到更快的访问速度?

上述讨论了软件和硬件的限制,那么如何带着这些限制,来提高速度?显而易见的方法是提升瓶颈,NAS当前大多使用机械硬盘,机械硬盘的速度很低。

1. 最容易的就是组raid,这里以raid5为例,理论速度可以提升到单盘的(n-1)倍。

2.全换固态成本又太高,那么可以增加SSD作为读写缓存,对提高速度很有帮助,尤其对小文件。

坑和Tips

说了不少理论上的东西,再说说我在折腾过程中使用的小技巧以及遇到的坑:

  1. PCI千兆网卡速度达跑不满,曾经尝试了PCI网卡,不是PCIE网卡,速度只能60-70MB, 更神奇的是,在组SMB多通道时,加入了PCI网卡,速度只降到25MB,原因至今不清楚。

  2. SMB多通道对于不想升级10网卡的情况,很好用,速度叠加,成本不高,功耗也低。

  3. USB千兆网卡基本能跑满,前提是单个,如果超过了3个,而且主机只有一个USB host,那么有可能无法同时跑满,这是应为USB3.0 的限制,而且USB的千兆网卡会消耗CPU算力,无法像PCIE千兆网卡一样,使用DMA传输,这是由于USB协议和驱动两者共同决定的。USB网卡同时使用最好不要超过三个。

  4. X540这种老的万兆网卡功耗很高,由此引出的问题是,需要很好的散热,曾用过4*4小风扇散热,在使用过程中,夏天会掉驱动,表现就是在设备管理器中,这个网卡有个叹号,无法连接。重新启用后就好用了。但是不过很久,又开始出现了叹号,并且,如果使用了双网口,发热更厉害。后来换了5*5的暴力扇解决了,稳定使用了。虽然这个东西便宜,但是功耗真大,单网口10W,双网口17W,如果是在NAS中上期开机使用,耗电成本很高,不如买新的10G电口网卡,只有300+,功耗1W多。

  5. 10G网卡如果插在南桥上,会损失速度,我在老平台上测试的。

  6. PCIE3.0 X1跑不满10G网口,至少x2.

速度排查顺序和步骤

  1. 网速不达标时,先查看协商速率,如果协商速率不够,大概率是网线的问题。

  2. 当协商速率明确后,就可以跑测速了,iperf这种,或者nas上有些hometools小工具,10G网口如果能测试到9Gbps就算合格了,不用太折腾了,这个和千兆网口不一样,如果测速上不去,需要看下MTU,改到9014这种大包。

  3. 当测速够了之后,建立SMB访问,可以先从NVME的固态开始测,读写两地都是NVME,硬盘不会是速度的瓶颈,如果不达标,那么就要看下SMB的版本问题,保证是SMB3. 同时因为SMB在高速下对CPU要求高,所以,也需要注意CPU占用,如果满了就是CPU性能不行了。

  4. 对于机械盘,必须建立raid存储才能跑满10G,8盘的raid5读写可以满足1GB的样子。如果此时跑不满,就要看看硬盘的占用率了。机械盘总有波动也属于正常,如果NAS套件不放在阵列里还好,但是没办法避免群晖的系统占用。

  5. 如果硬盘占用没有满,但是速度还是上不去,还是要排除硬盘的问题。我曾遇到过硬盘显示占用不满 ,但是速度上去不,发现部分硬盘是不从南桥的sata接出来的,而是用了pcie转sata的转接卡,这个转接卡在多块硬盘同时读写时,速度很低,阵列中任意一块硬盘速度受限,那么整个整列速度就被限制了。一个比较容易的验证方法是,在NAS内部拷贝到SSD中,查看读写速度。

  6. 这里需要注意的是,内存大小也会影响访问速度,需要查看内存的占用率,至少保证又2G以上空闲内存。

  7. 两个10G网口组SMB多通道性能损失严重,并且不稳定,实测只能到1.5GB左右,我的硬件是DMI2,只有2G,怀疑是DMI的瓶颈,没有继续排查。

写不动了,下一篇继续。

三个千兆网口组SMB多通道截图三个千兆网口组SMB多通道截图
展开 收起
24评论

  • 精彩
  • 最新
  • 家里一台老win机,一台mac 10g,威联通nas,交换机用的106pro,mac和win插10g口,nas插双口2.5g,目前也在调试各种速度,电脑usb上插了2个2.5g网卡速度不能叠加到5g,换了个usb5g的网卡,速度受限usb口速度,只能3.1G速度。还有就是,威联通的双2.5g网口聚合也不能提高单一pc和nas的连接速度,多pc访问才能提高到5g。现在只想mac能5g速度访问nas,pc机放弃。

    校验提示文案

    提交
    网口聚合对提升单设备访问速度没有帮助,你这场景,只能尝试2.5G网口 smb多通道,正常来说速度能叠加,但也就300-400M

    校验提示文案

    提交
    1,pc的smb多通道没搭建成功
    2,pc不用可做黑裙,搭配10g网卡。与威联通做文件夹同步。
    3,Mac可以有雷电口的主板做雷电网桥,速度20g。
    当然5g不比2.5快多少,都是一泡尿的功夫。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 最近换了2.5g交换机,比较好时候到nas速度大概260多M,小文件就掉的厉害

    校验提示文案

    提交
    加内存或者ssd缓存可解

    校验提示文案

    提交
    电脑这边用的32g,就是从ssd往nas的机械硬盘传,nas是万由系统,16g,也有ssd缓存,网线就是普通机制线,比以前用千兆交换机快不少了,但是基本就260多封顶了

    校验提示文案

    提交
    收起所有回复
  • 白群晖双网卡双通道200mbs够用了,电脑都是2.5G的,都能跑到200mbs左右,硬盘也就这速度了,网卡提速没意义了

    校验提示文案

    提交
    意义重大,节省时间

    校验提示文案

    提交
    收起所有回复
  • 我家wifi连nas只有30M。也懒得查什么原因

    校验提示文案

    提交
    300M的Wi-Fi4?

    校验提示文案

    提交
    我也30来兆

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 10g成本来算,线路成本啊,网线光纤值多少钱?万兆交换机也才值多少钱?甚至万兆网卡都不是事…主要是nas里那个硬盘阵列要跑到万兆,那可难得登天了,目前我设想的比较安全且廉价的做法:四块企业级组raid0,另外数据冷备份另一台设备上(恕我直言,raid5就是辣鸡)。当然,你说拿固态缓存也有用,不过上传能到万兆,下载还是取决于阵列。当然,全闪的大哥我先抱拳了 [傻笑] [傻笑] [傻笑]

    校验提示文案

    提交
    raid5很好用,8盘raid5轻松跑满10g口

    校验提示文案

    提交
    raid5这玩意,见过身边很多血淋淋的例子,不敢用 [皱眉]

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 好久没有在这里看到这么认真钻研又用心写的文章了,赞👍! 想起了十多年前天天给媒资用户PPT忽悠产品然后做POC,测性能的日子。

    校验提示文案

    提交
  • 写的相当专业了,收藏先。

    校验提示文案

    提交
  • 赞一个,好文章

    校验提示文案

    提交
  • 一般家用,千兆足够了,有条件上2.5g

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

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