免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8629 | 回复: 8
打印 上一主题 下一主题

用libnids还原大量TCP数据的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-16 15:25 |只看该作者 |倒序浏览
50可用积分
我用libnid还原tcp数据,当网络速度达到2MB/s的时候回调函数里就收不到数据了,这个和libnids本身性能跟不上还是哪些设置需要优化?
请那位熟悉的讲一下

[ 本帖最后由 zkheartboy 于 2007-11-16 15:28 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-11-16 16:06 |只看该作者
libnids里用的是异步方式么?如果不是就改用异步的.如果是的话就把queue_size设大一点.
此外libpcap也可以优化.比如基于PF_RING方式.

论坛徽章:
0
3 [报告]
发表于 2007-11-16 19:52 |只看该作者
还有人知道吗?
顶一下

论坛徽章:
0
4 [报告]
发表于 2007-11-20 15:53 |只看该作者
谁知道阿?顶一下

论坛徽章:
0
5 [报告]
发表于 2007-11-20 18:48 |只看该作者
我在2楼说过了啊.
1.用异步方式.
2.queue_size调大.
这两个都可以在用户程序中控制.
如果你不对pcap做改动的话,那只有这两个方式可以提高性能了.
libnids的源码里可优化的地方不是太多.

论坛徽章:
0
6 [报告]
发表于 2007-12-11 14:59 |只看该作者
谢谢楼上,不过我没有找到在哪里设为异步方式啊,nids_params里面没有啊

论坛徽章:
0
7 [报告]
发表于 2007-12-11 16:37 |只看该作者
1.首先优化你自己的应用层程序,你在callback里干什么了,这是主要的瓶颈,这里优化的好抓包性能能提很多。callback里尽量做到只抓包,数据分析你可以另开线程
2.如果实在流量大,你需要优化nids,但是性能提升很小,100M流量下部是问题。

论坛徽章:
0
8 [报告]
发表于 2007-12-11 19:39 |只看该作者
我把callback里的都删了重新来测试还是不行,我程序里只算出收到数据的大小,然后在局域网里面下载东西,当超过2MB/s的时候还是就没反应了。除非是速度小于2MB就能正确得出来结果

论坛徽章:
0
9 [报告]
发表于 2009-04-04 22:11 |只看该作者
我也感觉libnids丢包现象非常明显,所以现在改用libpcap抓包了。虽然做的工作稍微多一些,但是效率提高很多!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP