免费注册 查看新帖 |

Chinaunix

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

网卡丢包的问题 [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-27 16:44 |只看该作者 |倒序浏览
打synflood攻击,被攻击的服务器查看网卡接收到的数据包,基本上recv:drop 是1:3的关系。
也就是大流量的时候,大量的syn包直接被网卡丢弃了。
CPU的负载68%,基本上是ksoftriqd进程。

想问一下,丢包的机制是否在于中断的响应问题?

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
2 [报告]
发表于 2010-07-27 16:56 |只看该作者
以前找工作的是否遇到过类似的一个问题:
网卡收报频繁,总是中断的话会延迟其它子系统的工作,该如何处理?
自己不知道怎么大,对方说这就涉及到权衡比较了

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
3 [报告]
发表于 2010-07-27 16:57 |只看该作者
中断平衡的问题了

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
4 [报告]
发表于 2010-07-27 16:58 |只看该作者
很想了解丢包的机制。
如果我提高发包的速度,则服务器受到的包和丢弃的包都增加了。

那就说明系统还是可以接受更多包的。

论坛徽章:
0
5 [报告]
发表于 2010-07-27 17:17 |只看该作者
应该是网卡驱动直接把包丢弃了
一般有几种可能
1、网卡驱动的接收队列不够
2、硬中断处理不过来(猜测)
3、某些网卡驱动中有智能检测丢弃机制(猜测)
4、网卡本身的问题(几乎很少)

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
6 [报告]
发表于 2010-07-27 17:19 |只看该作者
1、网卡驱动的接收队列不够

如果说队列不够的话,那么我提升发包速率,网卡接收包的速率应该不会再提升了吧

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2010-07-27 17:20 |只看该作者
2、硬中断处理不过来(猜测)

我这边通过top看两个CPU的hi都不高啊

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
8 [报告]
发表于 2010-07-27 17:32 |只看该作者
列出一个/proc/net/dev的结果
[root@localhost bin]# cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:21716253  195231    0    0    0     0          0         0 21716253  195231    0    0    0     0       0          0
  eth0:3243621068 374510186    0 1080508101    0     0          0         0 32826000   79202    0    0    0     0       0          0
  eth1:20222774   38527    0    0    0     0          0         0 130361933 2015781    0    0    0     0       0          0
[root@localhost bin]#


如果没有err包的话,所有到网卡的包的数目,我的理解是packets一列加上drop那一列。

论坛徽章:
0
9 [报告]
发表于 2010-07-27 23:23 |只看该作者
最好说下是什么网卡,不同型号的设计也不一样.

以 E1000为例子, 网卡本身硬件上有一个RCV BUFFER,满了就会丢包.

还有,接受包的时候 OS 和网卡硬件要一起维持一个QUEUE, 网卡向里面写,OS (应该说是DRIVER) 读出来. 如果DRIVER 读的慢, QUEUE满了,也会丢.

硬中断关系不大,现在一般都是 NAPI ,用POLLING 的方式来收包了.

论坛徽章:
0
10 [报告]
发表于 2010-07-28 09:16 |只看该作者
好一点的网卡,一般驱动都有很详细的统计信息,以供你查看是哪儿丢了包。可以使用ethtool。比如我最常用的Intel的网卡,在你这种情况下,一般是miss error的原因,只有增大缓冲,比如,增加网卡buffer,放大内核的backlog等措施来处理……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP