下载速率和带宽的换算关系

  一只以来有个困惑,如何通过下载速率来判断源站的出口带宽是多少,今天终于搞明白了;

  测试之前先搞明白几个单位换算:

    1、运营商一般是按bit/s来计算的;

    2、1Bytes=8bit

    3、1kb=1024Bytes

    4、1Mb=1024kb

  了解了上面这几个单位换算的概念之后就开始做实验测试;我有一台公网云主机带宽明确知道是1M的;在云主机上开python端口也好还是部署http服务也好,总之需要能从该云主机下载;我采用的是开python端口的方式,这样比较方便;然后在执行python命令的目录下放一个几M的文件,因为我本身就是1M带宽,太大的文件下载太慢;

  1、开python端口

    python2: python -m SimpleHTTPServer 8083

    python3: python3 -m http.server 8083

    开放端口自定义,只要不跟现网冲突就成;

  2、通过curl命令的speed_download模块测试下载速度 

[zhangzhide@zhangzhidedeMacBook-Pro ~ ]$ curl -so /dev/null "http://IP地址:8083/mjpg-streamer.gz" -w "TransCode: %{http_code} Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} speed_download: %{speed_download} B/s 
"
TransCode: 200 Connect: 0.009182 TTFB: 0.023201 Total time: 11.281602 speed_download: 136422.000 B/s 

    通过测试,下载速度是136422Bytes/s;

    先换算成bit:136422 X 8 =  1091376

    再换算成Mb:1091376/1024/1024=1.04Mbit/s

  通过换算得出该云主机的带宽确实是1M的带宽,这个值会上下波动,但是差距不会太大;也证明我这个云主机的提供商没有欺诈顾客,确实提供的是1M的带宽;

原文地址:https://www.cnblogs.com/zhangzhide/p/14313192.html