by Devin Yang

建立於: 1年前 ( 更新: 1年前 )

雖然我們可能會用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,看起來滿正常的。🥹

 

 

Tags: openspeedtest docker phpenv

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


laravel docker

關於D-Laravel的專案模式

如果您是新使用者,建議您改用我的最新環境phpenv。https://github.com/DevinY/phpenv

docker,sqlserver

D-Laravel建立SQLServer環境

如何建立D-Laravel的SQLSever環境

laravel,docker

如何自訂Laravel分頁

最近閒了一點,想說來調整一下網站上下頁的箭頭,如果您還不太了解如何自訂Laravel的分頁, 可以來看看三分鐘簡短的介紹,我如何自訂Laravel的分頁。