加载中…
个人资料
静心净心尽心
静心净心尽心
  • 博客等级:
  • 博客积分:0
  • 博客访问:67,148
  • 关注人气:15
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

pc上最快的发包工具?

(2010-01-01 14:07:51)
标签:

杂谈

分类: 测试实用技术

昨天做了个实验,测试了三种发包方式所能达到的最快速度。测试平台是一台双至强、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发包的上限就是这样了。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有