定义
通常使用五元组来标识一条流。
⼤象流是通过⽹络链路进⾏⼤量的,持续的传递数据的过程。⽼⿏流是通过⽹络链路进⾏少量的,短时间的数据传递过程。
即大速率(占用大带宽),长时的流就是elephant flow ,小速率,短时的就是mouse flow。
举例
发邮件,看⽹⻚,聊微信,这些都属于⽼⿏流。
⽽虚机的迁移,数据的迁移,视频,存储,MapReduce等等,属于⼤象流。也可以按照2/8定律来理解这两类数据流,即20%的⼤象流占⽤了80%的⽹络带宽,现实中可能没有20%的⼤象流,带宽可能也没占到80%,不过整体趋势是这样的。
影响
目前网卡经常基于流进行hash的RSS,会将同一个流分配到同一个接收队列中。
对于DPVS这种网卡队列和CPU绑定的网关产品而言,同一个流会分给同一个线程来处理。如果某一个流是大象流,会将DPVS的某个线程的CPU打满,影响同样给这个线程的老鼠流的处理,造成老鼠流的imiss丢包等。
总结:大象流可能将某CPU打满,影响同样给该CPU的老鼠流。
测量方法
基于sketch的网络测量方法
参考: