雖然我們可能會用speedtest之類網站進行上下傳的速度的測試,那如果我們想測自己的Server的速度呢?
像是用戶在別的國家,連到我們的主機速度快慢 ,這時self-hosted的測試工具就很方便啦。
最新版本的phpenv在services的yml檔中,加入了openspeedtest.yml囉。
version: '3.6'
services:
fastapi:
image: openspeedtest/latest
ports:
- ${HTTP_PORT-3000}:3000
restart: unless-stopped
networks:
- dlaravel_net
networks:
dlaravel_net:
我們可以用一行docker指令來啟動,可到官網查看,我幫大家拷過來了如下:
docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latest
其實滿簡單的,這裡介紹用phpenv來啟動的流程,我如何做的
一、因為我要用獨立的環境,所以我透過下方指令,把services/openspeedtest.yml進行軟連結,放到上層目錄。
ln -s services/openspeedtest.yml ost.yml
名稱自己訂,我就叫他ost.yml,實際執行畫面如下:
二、因為我的phpenv有大量的環境設定檔,我可以透過如下指令檢查那些./port是我沒用的,必免衝突。
會出現一堆envs中設定檔的ports,因為太多了,我們可以加個過濾。
./ports |grep HTTP_PORT
操作畫面如下:
在上圖中,phpenv中的./ports指令列出的埠號是會依序排列由小到大排列的,我大概看的出來1061應該可以用。
三、在這裡我會用Linux的netstat指令再進行一次驗證,確認1061沒有被Listen。
sudo netstat -ntlp|grep :1061
相反的,如果連接埠是被開啟的,就會顯示在畫面上了,類似下方這樣,那怎麼辨呢,就換個不會衝的連接埠🥲
正常情況下,應該是不會衝到這個port的,會像下方這樣。
四、設定openspeed的環境設定檔,指定使用的yml檔,專案名稱跟開啟的連埠埠即可。
在這裡我命名為openspeed,放到envs目錄。
DEFAULT=ost
PROJECT=speedtest
HTTP_PORT=1061
實際畫面如下圖,DEFAULT=ost代表的是在上面第一步中我執行的軟連結 ost.yml。
完成了設定檔後,我們就可以來切換環境啦,執行./link,切換到openspeed的環境。
在上方的services/openspeedtest.yml中可以看到,他是直接用官方的image的(openspeedtest/latest),所以我們不用build啦,直接給他啟動下去。
五、執行./start指令啟動環境,沒有image的情況下,會自動下載,有image時,就會直接啟動了。
./start
實際操作畫面: (用./start啟動,用./console ps查看狀態)
六、在另一台電腦直接測吧,這裡我是用內網測試,壓畫面上的Start即可測試,
因為我是10G網路,所以測出來接近10000Mb,看起來滿正常的。🥹
No Comment
Post your comment