PC上最快的发包工具
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
昨天做了个实验,测试了三种发包方式所能达到的最快速度。测试平台是一台双至强、1G内存的服务器,操作系统为Linux,内核版本2.6.15.3,网卡为Intel e1000光口网卡。使用一台smartbit来记录发包速度。
所使用的三种方法分别是:
tcpreplay:常用的发包软件,可以重发tcpdump所捕获的报文。
pktgen:linux内核自带的发包工具。
修改的e1000驱动:在驱动里直接写网卡的发送缓冲区
下面是测试结果:
| tcpreplay ,64字节报文 | pkggen,64字节报文 | e1000,64字节报文 | tcpreplay,512字节报文 | pktgen,512字节报文 | e1000,512字节报文 |
pps | 298725 | 600000 | 610000 | 232382 | 234091 | 234000 |
Mbps | 146 | 266 | 270 | 908 | 857 | 850 |
说明一下,统计数据的值不算精确,因为只花了半个小时时间测了一下,但是拿来参考还是有说服力的。
可以看出,当发送小包时,tcpreplay的性能较差。发送大包时,三者性能接近。
有点出乎意料的是,通过e1000驱动发包,在64字节小包的时候也只达到不到300Mbps的速度。驱动修改的方式是在预先设置好e1000的4096个发送缓冲区,通过在中断处理函数里设置e1000的发送首尾指针来发包,相信这种方式是软件所能做到的最快的方式了。
如果继续深入测试,可以通过调整控制e1000中断产生的几个参数看能不能达到更高的吞吐率。但也可能e1000发包的上限就是这样了。
GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献3条内容
所有评论(0)