TranslateProject/published/201506/20150316 How to Test Your Internet Speed Bidirectionally from Command Line Using 'Speedtest-CLI' Tool.md

144 lines
6.4 KiB
Markdown
Raw Normal View History

2015-06-12 18:38:21 +08:00
用命令行工具Speedtest-CLI来测试你的上下行网速
================================================================================
我们经常需要到检查家里与办公室之间的网络是否连通那么我们要怎么做呢打开网站Speedtest.net然后开始测试。网站是通过加载浏览器中的JavaScript脚本然后选择最佳的服务器测速然后用Flash产生图形化的结果。
那么远程服务器呢要知道大多数远程服务器是没有浏览器可以打开web页面的。用浏览器打开网页测速的瓶颈就在此你不能按计划的对服务器进行定期的常规测试。这时需要到一个名为Speedtest-cli的软件来打破这个瓶颈它能让你通过命令行来测试互联网连接的速度。
#### Speedtest-cli是什么 ####
此程序是基于Python开发的脚本程序利用了speedtest.net的服务来测量出上下行的宽带。Speedtest-cli能根据机房离测速服务器的物理距离来列出测速服务器或者针对某一服务器进行测速同时还能为你生成一个URL以便你分享你的测速结果。
要在Linux上安装最新版本的speedtest-cli你必须安装2.4-3.4或者更高版本的Python。
### 在Linux上安装speedtest-cli ###
有两种方法可以安装speedtest-cli。第一种方法需要用到`python-pip`包管理器第二种方法需要安装Python脚本生成安装文件然后运行这里我们分别介绍两种方法
#### 使用pythin-pip安装speedtest-cli####
首先你需要安装`python-pip`包管理器之后你就可以用pip命令来安装speedtest-cli
$ sudo apt-get install python-pip
$ sudo pip install speedtest-cli
如果要把speedtest-cli升级至最新版本你需要输入以下命令
2015-06-12 18:38:21 +08:00
$ sudo pip install speedtest-cli --upgrade
#### 通过Pyhton脚本来安装speedtest-cli ####
首先要用wget命令从github上下来Python脚本然后解压提取下载的文件master.zip
$ wget https://github.com/sivel/speedtest-cli/archive/master.zip
$ unzip master.zip
提取出文件后,进入提取出的目录`speedtest-cli-master`然后使脚本可以执行。
$ cd speedtest-cli-master/
$ chmod 755 speedtest_cli.py
下一步,把可执行的脚本移动到`/usr/bin`文件夹,这样你就不用每次都输入完整的脚本路径了。
$ sudo mv speedtest_cli.py /usr/bin/
### 用speedtest-cli测试互联网连通速度###
**1. 要测试你的下载与上传速度,只需要运行`speedtest-cli`命令,不需要带参数。**
$ speedtest_cli.py
![Test Download Upload Speed in Linux](http://www.tecmint.com/wp-content/uploads/2015/03/Test-Download-Upload-Speed-in-Linux1.png)
*在Linux下测试上传下载速度*
2015-06-12 18:38:21 +08:00
**2. 测试上传下载的速度(以字节计算)**
2015-06-12 18:38:21 +08:00
$ speedtest_cli.py --bytes
![Test Internet Speed in Bytes](http://www.tecmint.com/wp-content/uploads/2015/03/Test-Speed-in-Bytes.png)
*测试bytes的速度*
2015-06-12 18:38:21 +08:00
**3. 工具提供一个链接来下载由你的宽带测试结果生成的图片,你可以分享给你的家人朋友。**
![Share Internet Speed Results](http://www.tecmint.com/wp-content/uploads/2015/03/Share-Internet-Speed-Results.png)
*分享测速结果*
2015-06-12 18:38:21 +08:00
下面的图片就是你通过以上的命令行测速而生成的图片
![Speed Test Results](http://www.tecmint.com/wp-content/uploads/2015/03/Speed-Test-Results.png)
*测速结果*
2015-06-12 18:38:21 +08:00
**4.如果你仅仅需要Ping上传下载的结果就运行以下命令**
$ speedtest_cli.py --simple
![Test Ping Download Upload Speed](http://www.tecmint.com/wp-content/uploads/2015/03/Test-Ping-Download-Upload-Speed1.png)
*测试Ping上传下载的速度*
2015-06-12 18:38:21 +08:00
**5. 列出`speedtest.net`所有的服务器距离你的物理距离单位是千米km**
$ speedtest_cli.py --list
![Check Speedtest.net Servers](http://www.tecmint.com/wp-content/uploads/2015/03/Check-Speedtest-Servers.png)
*列出Speedtest.net的服务器*
2015-06-12 18:38:21 +08:00
**6. 当获得一个非常长的服务器列表之后怎么列出我想要的某个服务器如果我要在speedtest.net服务器列表中找出位于Mumbai印度的服务器呢**
$ speedtest_cli.py --list | grep -i Mumbai
![Check Nearest Server](http://www.tecmint.com/wp-content/uploads/2015/03/Check-Nearest-Server.png)
*列出最近的服务器*
2015-06-12 18:38:21 +08:00
**7. 对指定的服务器进行测速。我们使用上面例子5和例子6中获取的服务器ID:**
$ speedtest_cli.py --server [server ID]
$ speedtest_cli.py --server [5060] ## 这里使用服务器ID为5060作为例子
![Test Connection Against Server](http://www.tecmint.com/wp-content/uploads/2015/03/Test-Connection-Against-Server.png)
*对指定的服务器进行测速*
2015-06-12 18:38:21 +08:00
**8. 输出`speedtest-cli`的版本信息和帮助文档**
$ speedtest_cli.py --version
![Check SpeedCli Version](http://www.tecmint.com/wp-content/uploads/2015/03/Check-SpeedCLi-Version.png)
*输出版本号*
2015-06-12 18:38:21 +08:00
$ speedtest_cli.py --help
![SpeedCli Help](http://www.tecmint.com/wp-content/uploads/2015/03/SpeedCli-Help.png)
2015-06-12 18:38:21 +08:00
*输出帮助文档*
2015-06-12 18:38:21 +08:00
**提醒:**报告中的延迟并不是确切的结果不应该过于依赖它这个数值可以当作相对延迟这对你选择某一测试服务器来说是可靠的。同时CPU和内存的容量会影响结果的准确度。
### 结论 ###
系统管理员和开发者应该必备这个简单的脚本工具这个轻量级的工具功能齐全真是太赞了。我不喜欢Speedtest.net的原因是它使用来flash相反speedtest-cli刚好戳中了我的痛点。
2015-06-12 18:38:21 +08:00
speedtest_cli是一个第三方工具也不能自动地记录下宽带速度。Speedtest.net拥有上百万的用户你可以自己[配制一个小型的测速服务器][1]。
上面就是所有内容,更多内容敬请关注我们。如果你有任何反馈记得在文章下方评论,如果你喜欢别忘了给我们点个赞,分享我们的文章。
2015-06-12 18:38:21 +08:00
--------------------------------------------------------------------------------
via: http://www.tecmint.com/check-internet-speed-from-command-line-in-linux/
作者:[Avishek Kumar][a]
译者:[NearTan](https://github.com/NearTan)
校对:[wxy](https://github.com/wxy)
2015-06-12 18:38:21 +08:00
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:http://www.tecmint.com/speedtest-mini-server-to-test-bandwidth-speed/