性能场景之网络模拟

2018-11-29   出处: 7DGroup  作/译者:高楼

模拟网络状况的有很多种,这里说的是Linux上的TC工具。

什么是TC

TC(traffic control)是Linux中的流量控制工具。它是通过控制netem来实现的网络场景模拟。该工具是直接对物理网卡生效的,如果是逻辑网卡,则该控制无效。如果是用的虚拟机,可视虚拟网卡为物理网卡。

什么是HTB

HTB是Hierarchy Token Bucket的缩写。通过在实践基础上的改进,它实现了一个丰富的连接共享类别体系。使用HTB可以很容易地保证每个类别的带宽,虽然它也允许特定的类可以突破带宽上限,占用别的类的带宽。HTB可以通过TBF(Token Bucket Filter)实现带宽限制,也能够划分类别的优先级。

TC使用步骤

要对网卡进行流量控制的配置,需要进行如下的步骤: 

  1. 为网卡配置一个队列; 

  2. 在该队列上建立分类;

  3. 根据需要建立子队列和子分类; 

  4. 为每个分类建立过滤器; 

  5. 建立与过滤器配合的路由表;

操作实例

正常情况下的网络表现

产生流量的语句: server端:

Client端:


产生的结果:

Server端:


Client端:


做了多遍,都和上面的结果相似。5个线程加在一起每秒大概1Gbits左右。

模拟丢包

模拟命令


丢包率与带宽的关系


模拟延迟

模拟命令


延迟与带宽的关系


HTB队列分层限制

分类配置



限流效果

测试手段从A机往B机用iperf开5个线程发数据包。



限流效果

测试手段从A机往B机用iperf开5个线程发数据包。



声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
344° /3442 人阅读/0 条评论 发表评论

登录 后发表评论