模拟网络状况的有很多种,这里说的是Linux上的TC工具。 什么是TCTC(traffic control)是Linux中的流量控制工具。它是通过控制netem来实现的网络场景模拟。该工具是直接对物理网卡生效的,如果是逻辑网卡,则该控制无效。如果是用的虚拟机,可视虚拟网卡为物理网卡。 什么是HTBHTB是Hierarchy Token Bucket的缩写。通过在实践基础上的改进,它实现了一个丰富的连接共享类别体系。使用HTB可以很容易地保证每个类别的带宽,虽然它也允许特定的类可以突破带宽上限,占用别的类的带宽。HTB可以通过TBF(Token Bucket Filter)实现带宽限制,也能够划分类别的优先级。 TC使用步骤要对网卡进行流量控制的配置,需要进行如下的步骤: 为网卡配置一个队列; 在该队列上建立分类; 根据需要建立子队列和子分类; 为每个分类建立过滤器; 建立与过滤器配合的路由表;
操作实例正常情况下的网络表现产生流量的语句: server端: Client端:
产生的结果: Server端:
Client端:
做了多遍,都和上面的结果相似。5个线程加在一起每秒大概1Gbits左右。 模拟丢包模拟命令
丢包率与带宽的关系
模拟延迟模拟命令
延迟与带宽的关系
HTB队列分层限制分类配置
限流效果测试手段从A机往B机用iperf开5个线程发数据包。
限流效果测试手段从A机往B机用iperf开5个线程发数据包。
转自 测试窝 地址 https://www.testwo.com/article/1400 文章仅作为分享
|