今天傳檔案到NAS上時發現速度非常悲劇,只有3.5MB/s

排查了好一陣子,最後找出是因為網路拓樸的關係才導致速度大減
重新調整一下網路後就達到11MB/s

儘管現在已經把連線弄好了,不過一個同樣浮現在筆者腦中:
我們怎麼測試跟NAS之間的傳輸速度?
說到測試網路速度,大家第一時間想到的大概都是speedtest或是hinet的測速網頁。
不過NAS通常架設於區網內,許多時候我們電腦都是透過區網連到NAS上的。前面幾家服務所測試的都是電腦的對外連線 (Internet) 速度,並不符合現在的需求。
這裡筆者使用 iperf 軟體來測試網路連線狀況。
這是一個client-server架構的測試軟體,在NAS上運行server端並在個人電腦上運行client端即可測試傳輸速率了。
不過NAS上必須要安裝iperf,但是群暉NAS上卻幾乎無法自行安裝套件,連套件管理工具如npm、apt-get、yum等都沒有。那個我們要怎麼安裝與使用iperf呢?
幸好我們有大殺器:Docker
有人提供docker化後的iperf給人使用。首先先到DSM中的套件中心安裝Docker

開啟Docker後,到倉庫伺服器頁面→搜尋iperf→點選networkstatic/iperf3→下載

下載完畢之後可以在映像檔頁籤看到,選擇好映像檔後點選佈署

接下來設定容器名稱,自己取個好記的名字即可,之後點進階設定

進階設定裡,切換到連接埠設定頁。在本機連接埠裡輸入5201

切換到環境設定,在底下執行指令裡打上-s後按下確定按鈕

回到新增容器的頁面後按下一步,之後檢查設定無誤後點選套用

此時回到Docker主介面,切換到容器頁籤就可以看到iperf的容器正在運行

到這一步我們就已經把iperf的server端準備好了。註:如果你有啟用防火牆的話,記得設定允許5201port通過
接下來就是啟用client端並且實際傳輸資料來測試速度。
客戶端一樣到iperf的下載頁面下載。安裝好客戶端之後,輸入命令就可以開始測試了
iperf3 -c 192.168.1.116 -t 60 -i 10
其中 -c 表示使用client模式。前面Docker設定裡打的-s表示使用server模式。
192.168.1.116是NAS的內網IP
-t 60表示測試60秒(預設是10秒)
-i 10表示每10秒顯示一次報告(預設是1秒)


這張是調整網路前的測試結果,可以看到最後總結的Bandwidth只有30Mbit/s = 3.75MBytes/s
這張是調整網路後,可以看到速度提升到92Mbits/s=11.5MBytes/s
最後如果想要看到iperf server端的顯示,可以在Docker→容器→詳細資訊→日誌裡查看





我的也超慢的…