月下博客

Linux通过HTTP服务下载文件到本地以测试VPS回程速度

本文最后更新于 2018年9月20日 20:08 可能会因为没有更新而失效。如已失效或需要修正,请留言!

在 Linux中使用 路由追踪 测试VPS回程路由(回程路由比去程更影响SS速度) 文章中,我说过如果你的服务器是做代理的,那么最影响速度的就是回程路由质量,那个文章中教你如何通过路由追踪测试VPS回程路由质量,但是毕竟路由质量不代表最终速度,而现在这篇文章就是让你测试,你在下载VPS上面的文件到本地的速度(回程速度)。


大部分情况下,你挂代理比如Shadowsocks(R),大部分情况下你都是在下载数据(VPS传给你),无论是看视频还是看网页。所以这个速度才是最终影响你体验的指数。

而如何测试呢?很简单,只要在VPS上面开放HTTP服务,然后在VPS开放的文件夹中下载一个 100MB的测试文件,然后我们从浏览器打开并下载这个 100MB的测试文件,在下载期间看文件的下载速度。

当然这篇文章不仅限于,测试VPS回程速度,有时候你需要开放/共享 VPS上的一些文件,你也可以看这篇文章。


搭建HTTP服务有很多方法,但是我们只是测试一下VPS上面的文件下载到本地的速度,所以要排除那些步骤复杂,设置颇多的HTTP工具。

所以这里我选择了:SimpleHTTPServerCaddy (注意:只需要选择其中一个就行了!

SimpleHTTPServer

SimpleHTTPServer是Pyhton自带的一个简易HTTP Server,所以要使用这个工具,VPS中要安装的有 Python,优点是大部分Linux系统中都会安装 Python。

缺点:经过逗比们反馈,SimpleHTTPServer似乎存在 下载速度不稳定/很慢 的问题,而且不支持多线程下载,如果觉得不好用,请看Caddy。

点击展开 查看更多

检查Python是否安装:

python -V
# 正常情况下应该返回 Python 2.7.x 
# 如果返回命令找不到 python: command not found ,那么说明没有安装Python。

如果没有安装,那么请安装 Python:

# CentOS 系统:
yum update && yum install python python2.7 -y

# Debian/Ubuntu 系统:
apt-get update && apt-get install python python2.7 -y
# 安装后使用 python -V 查看是否安装成功,如果不成功就去谷歌吧!

确认Python安装正常后,就可以看下面这个教程继续操作了,很早就写过,当时还写了一个一键脚本。

在使用 SimpleHTTPServer 开放HTTP服务后,进入你开放HTTP服务的文件夹内,然后生成一个 100MB的测试文件。

dd if=/dev/zero of=Test bs=1M count=100
# 100MB文件太小,测试不过瘾?那只需要把最后的数字改成你想要的,比如 500=500MB
dd if=/dev/zero of=Test bs=1M count=500
# Test就是生成的测试文件的文件名,1M是每次写入1M大小,500是写入500次,也就是名为Test的500MB大小文件。

最后,我们打开 http://VPS_IP:端口 即可看到虚拟主机文件夹内的文件了,开始下载名为 Test的文件测速吧!

卸载 SimpleHTTPServer:

SimpleHTTPServer是集成与 Python的,所以无法卸载,只需要把脚本(如果用的话)和下载测速的文件删除即可。

rm -rf Test

Caddy

Caddy是一个Go语言编写的很简单的 HTTP Server,配置文件异常简单,相比于 SimpleHTTPServer 的不稳定和不支持多线程,Caddy更适合长期使用,当然不代表不适合短期使用。

点击展开 查看更多

部署方法:

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

安装Caddy成功后,继续新建一个虚拟主机文件夹,

mkdir /usr/local/caddy/www && mkdir /usr/local/caddy/www/speeder

写入配置文件

写入配置到 Caddy 配置文件,注意下面这六行要一起复制粘贴,不是一行一行复制!

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo ":80 {
 root /usr/local/caddy/www/speeder
 timeouts none
 gzip
 browse
}" > /usr/local/caddy/Caddyfile
# 如果要绑定域名,只要把上面第一行的[ :80 { ]改成域名比如[ http://tooyo.ml { ]即可(不需要加端口号了)#

上面的代码执行完后,启动 Caddy即可。

/etc/init.d/caddy start

下载测速文件

然后我们进入 虚拟主机文件夹,并下载 测速文件:

cd /usr/local/caddy/www/speeder
dd if=/dev/zero of=Test bs=1M count=100
# 100MB文件太小,测试不过瘾?那只需要把最后的数字改成你想要的,比如 500=500MB
dd if=/dev/zero of=Test bs=1M count=500
# Test就是生成的测试文件的文件名,1M是每次写入1M大小,500是写入500次,也就是名为Test的500MB大小文件。

最后,我们打开 http://VPS_IP 即可看到虚拟主机文件夹内的文件了,开始下载名为 Test的文件测速吧!

Caddy 使用方法

启动:/etc/init.d/caddy start

停止:/etc/init.d/caddy stop

重启:/etc/init.d/caddy restart

查看状态:/etc/init.d/caddy status

卸载 Caddy

进入你下载caddy安装脚本的文件夹,并用下面代码运行脚本即可完全卸载。

bash caddy_install.sh uninstall

启动显示成功,但是实际未运行

因为 服务脚本判断的问题,只判断了nohub是否运行 Caddy成功,但没有判断 Caddy 是否保持正常运行。

你可以理解为,nohub成功启动了 Caddy,但是 Caddy因为配置文件错误等原因,启动后又退出了。

所以这种情况下,你应该去查看启动日志:

tail -f /tmp/caddy.log

转载请超链接注明:月下博客 » Linux通过HTTP服务下载文件到本地以测试VPS回程速度
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!