来源:测试窝
模拟网络状况的有很多种,这里说的是Linux上的TC工具。
TC(traffic control)是Linux中的流量控制工具。它是通过控制netem来实现的网络场景模拟。该工具是直接对物理网卡生效的,如果是逻辑网卡,则该控制无效。如果是用的虚拟机,可视虚拟网卡为物理网卡。
HTB是Hierarchy Token Bucket的缩写。通过在实践基础上的改进,它实现了一个丰富的连接共享类别体系。使用HTB可以很容易地保证每个类别的带宽,虽然它也允许特定的类可以突破带宽上限,占用别的类的带宽。HTB可以通过TBF(Token Bucket Filter)实现带宽限制,也能够划分类别的优先级。
要对网卡进行流量控制的配置,需要进行如下的步骤:
产生流量的语句: server端:
Client端:
产生的结果:
Server端:
Client端:
做了多遍,都和上面的结果相似。5个线程加在一起每秒大概1Gbits左右。
丢包率与带宽的关系
延迟与带宽的关系
测试手段从A机往B机用iperf开5个线程发数据包。
有很多种手段可以模拟网络丢包、延迟、限流的情况,大家可以自行探索。
星云测试
http://www.teststars.cc
奇林软件
http://www.kylinpet.com
联合通测
http://www.quicktesting.net