门当户对,软硬相配——记一次macbook与威联通NAS之间传输文件afp与smb协议比较测试
临近双11,在一边关注各类数码产品价格动向的同时,也开始琢磨家里什么设备该升级了?最近总觉得NAS读写文件速度变慢了嘛?于是我做了个实验,终于知道问题出在哪里了。
先说结论:NAS如果支持多种文件传输协议,那么在用macOS读写时,用smb协议读取速度只能到大约10MB/s,而用afp协议可以到40MB/s!
家里的设备情况是这样的:入户光猫连接华硕 RT-AC68U路由器,以5GWifi连接2015年macbook。路由器有线口下连思科SG100D-08 SD2008T家用千兆交换机,再连威联通TS-410四盘位NAS,之间所用双绞线都是六类线。
最近发现macbook与NAS之间传输速度好像变慢了,经实测,仅有10MB/s的读取速度。为了避免碎小文件读写对速度的影响,这里以4.29GB的树莓派操作系统镜像文件作为传输测试材料,进行从NAS读数据向macbook拷贝的测试。
对于近期macbook从NAS读取文件速度变慢一事,我作了如下原因推测或猜想:
NAS最近加了4T硬盘,本身盘速不够;
NAS系统老旧,软硬件不足以管理那么大的硬盘以确保高速读写;
NAS系统更新功能较多,导致系统变慢,处理不过来;
无线干扰较多,macbook与路由之间无线速度慢;
路由器本身性能不够,造成传输瓶颈。
(结果以上猜想原因都不是)
对于第一个原因,首先可以排除。西部数据4T红盘虽然是面向NAS的产品,不是以高速读写著称,但也不可能只低到10MB/s。
对于第二第三个问题,虽然QNAP TS-410是七八年前的产品了,但我观察了QNAP NAS在其管理网页的性能仪表盘上显示的CPU及内存使用率,在令人比较不满意的传输速度下,两者的使用率也不过百分之六十上下,并未到达硬件极限。
对于第四、五个推测点,首先我相信自己选购路由器时,还是特意选了一台比较好的家用思科路由器的。不过我还是做了以下试验:
将macbook无线关闭,将Belkin USB-C 至千兆以太网转换器连接到USB-C口,再用七类双绞线连接思科交换机,并拔除了思科交换机到华硕路由器之间的连线。也就是说,形成一个思科千兆交换机下直挂NAS与macbook的简单构造。这样一来,链路上绝对不会有任何瓶颈了!
测试结果,发现就算是有线直接挂交换机的模式,速度依然是10MB/s左右,所以当天我实在怀疑是QNAP的TS-410太过老旧,该更换型号了。
第二天中午,我在macbook上按Command+K连接NAS时,忽然注意到我最近默认连接NAS的协议是走SMB://协议,而其实QNAP的操作系统除了提供该协议外,还提供了AFP协议(Apple Filing Protocol)的服务。我在NAS端什么都没改,只是尝试在macbook改用了AFP协议连接,结果理应出现的「奇迹」出现了——平均速度直接上升到了40MB/s!基本符合NAS产品所承诺的读写速度了。
这样看来尽管我家的QNAP TS-410型号老旧了一些,也因为不是x86指令集芯片所以不支持威联通新出的一些Station功能,但是就读写速度这一项来说并没有退化。由此也可以看到,尽管在硬件基本都是用上了个人家庭中高端的产品,但是选择正确的协议——也就是软件层面的协调性对于传输速度也是尤为重要的。
qnap的盘貌似是要比synology慢,我的ts269h已经是x86的了写入也才60M,也有可能和RAID 1有关
宝贵的回复!
这条评论差点淹没在每天几十条的垃圾广告评论中……
想问下你是什么硬盘?
ts269h,从型号上来看,是二盘位高CPU的配置吧?看起来应该已经可以跑QVM虚拟机了?
WD30EFRX,想想出手买红盘的时候还真是血本啊,不过2年过去了硬盘是一毛钱都没跌。
Intel某Celeron双核,跑VM就算了。家里有树莓派,搞个什么server的基本都有现成的包,racoon、strongswan之类的东西就自己编译一下掰。
我也有树莓派,不过我对Linux还不太熟,所以会有不断试错的过程。因此,我觉得树莓派有些时候不如VM好用的情况:
1、树莓派没有快照功能,VM有快照功能,可以回滚(应该是吧?我用VMware的VM的,QNAP的VM是否可以回滚我不清楚)。
2、树莓派的各种命令以及软件仓库其实都是ARM架构的,与x86的软件仓库其实还有所不同,不通用。有些程序的某些指定版本只有x86指令的,没有ARM的。我记得之前尝试玩一用Linux命令行来控制索尼数码相机的程序,更新版本(支持更多型号相机)的就在树莓派的ARM软件仓库里没有。
技术宅的技能吧。笑
不改kernel的话linux都还好吧,反正万物皆文件,手工备份一下就好。
稀有软件只有x86的generic版本、没有source是蛮无奈的,有source的软件不大就pi上编一下、太大了就在Mac上挂toolchain搞咯。