我有一个千兆以太网的盒子,在我的下载testing中,我无法超过200Mbps或250Mbps。
我做这样的testing:
% wget -6 -O /dev/null --progress=dot:mega http://proof.ovh.ca/files/1Gb.dat --2013-07-25 12:32:08-- http://proof.ovh.ca/files/1Gb.dat Resolving proof.ovh.ca (proof.ovh.ca)... 2607:5300:60:273a::1 Connecting to proof.ovh.ca (proof.ovh.ca)|2607:5300:60:273a::1|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 125000000 (119M) [application/x-ns-proxy-autoconfig] Saving to: '/dev/null' 0K ........ ........ ........ ........ ........ ........ 2% 5.63M 21s 3072K ........ ........ ........ ........ ........ ........ 5% 13.4M 14s 6144K ........ ........ ........ ........ ........ ........ 7% 15.8M 12s 9216K ........ ........ ........ ........ ........ ........ 10% 19.7M 10s 12288K ........ ........ ........ ........ ........ ........ 12% 18.1M 9s 15360K ........ ........ ........ ........ ........ ........ 15% 19.4M 8s 18432K ........ ........ ........ ........ ........ ........ 17% 20.1M 7s
由于我只控制一台我想testing的服务器 ,而不是我想要执行testing的站点,我该如何做一个公平的testing呢?
基本上,是否有一些工具可以让我通过HTTP同时在几个TCPstream中下载一个100MB的文件 ?
或一次下载多个文件?
Aria2是类似于wget的命令行工具,支持通过http,bittorent,ftp等同时下载多个文件。
aria2c -d /dev -o null --allow-overwrite=true -x 15 url --file-allocation=none
用15个连接将文件下载到/ dev / null。
–allow-overwrite阻止aria尝试重命名/ dev / nulll。
我不希望在下载之前开始分配空间,因为下载需要花费时间
你将被限制在低于最慢速度的链接。 你可以有一个10Gig连接,但是如果你的networking连接是拨号,你将会等待。 即使在可以支持1GB端到端的局域网上,也可以看到源服务器的读取速度或目标服务器的写入速度。
有很多因素造成这一点:
首先,你通过互联网下载。 让我们假设你真的有一个吉比特下行连接在您的处置:
为了简单起见,我们假设10%,TCP开销可以占用5-10%的带宽。 所以你下降到900Mbits / s。
远程服务器负载是一个主要因素,你无法控制或看到它。 许多服务器可以轻松地读取200 MB / s的读取次数,但在负载下可以降低速度。
路由也是速度的一个因素。 如果你的路线饱和,速度会受到影响。
最后,你真的有一个千兆连接到互联网,还是只是你的端口速度? 速度受限于你穿越最慢的环节。 另外,如果你有一个千兆链路的托pipe服务器,这些服务器通常由其他客户端共享,你不会得到一个专用的千兆位链路。
编辑:我不推荐一个工具的原因是因为他们是一个谷歌search了,有吨。