by Devin Yang

建立于: 3年前 ( 更新: 3年前 )

虽然我们可能会用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

需要登入才可留言!

类似文章


docker

D-Laravel上.env及docker-compsoe小教室

本文介绍,当我们使用D-Laravel的.env加载多个yml档时,为何docker-compose ps官方命令无法列出所有使用中的服务。 但在D-Laravel上的./console ps确能正常显示,那官方的docker-compose命令因如何使用才能有相同的效果呢?

docker

Devin Yang的Docker初学笔记

这是我初学Docker时的笔记,有点粗糙,有调整了一下下。 但我想对於Docker初学者,应该可以提供一些初步的概念, 欢迎参考看看。

php,docker,dlaravel

我创建的phpenv容器环境简单介绍

没时间拍介绍影片,我就来随便抓些画面介绍我使用的容器环境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel开源项目的进化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太会去更动版号了,其实D-Laravel的php版号,好像我也很久没动啦:p