大家平常要測網路速度都會想到 Ookla 的 Speedtest.net
在簡單的網路環境內,Speedtest 就可以完成測速的工作,但如果我要測試內網速度呢?
網路環境
在測試之前,我們先了解網路速度到底是在測甚麼。
一般家用的網路架構大概如圖,由中華電信這些電信商(ISP)提供網際網路連線(雲圖示),之後在你家裝一台路由器,讓家裡的設備可以透過它上網。
我們平常用的 Speedtest.net 其實就是在測家裡到網際網路的連線速度。
只是因為網路架構相當簡單,所以電腦、手機等終端的連線速度就等於連網際網路的速度。
若是有在玩自架服務 homelab 的朋友網路架構絕對沒那麼簡單,可能比較像這張圖
在接到網際網路(後面以外網代稱)之前,接到路由器 Router 架設區域網路(後面以內網代稱)。
然後連交換機 Switch 去串接各終端設備和伺服器、監視器等
所以如果我們要測試內網裡面電腦連伺服器的速度,如下圖。Speedtest.net 當然就測不出來了
OpenSpeedTest
講了這麼多前提,主要就是要紹可以自己架設的 OpenSpeedTest
只要把它架在自己的伺服器上,就可以像在用 Speedtest.net 一樣測試內網的網速🎉
這邊是官方那邊的 DEMO (沒錯它可以直接嵌在你的網頁內)
|
|
安裝 OpenSpeedTest
OpenSpeedTest 大致分為3種安裝方式
- 安裝程式包
- Docker
- 從原始碼手動架設
程式包
官方打包好的安裝檔在這邊下載頁可以找到
支援主流的作業系統 Windows, Mac, Linux 之外,連 Android 跟 IOS 都有 (可能用來測熱點性能吧?)
點 Start Server 後就可以連 👉 給的網址測速了
Docker
|
|
啟動後連 http://YOUR-IP:3000 或 https://YOUR-IP:3001 測速
原始碼安裝
首先到 Github 下載或 clone 原始碼
準備好 Nginx ,套用openspeedtest 預設 nginx 設定
然後將下載好的OpenSpeedTest原始碼,放到 Nginx 的網頁資料夾就可以用了
推薦還是用 Docker 安裝,簡單省事,如果需要整合進你的網站再用原始碼安裝
Photo by Chris Liverani on Unsplash