Chinaunix

标题: OpenBSD 的top输出interrupt很高,网速很慢,求解 [打印本页]

作者: ioerr    时间: 2015-03-06 16:53
标题: OpenBSD 的top输出interrupt很高,网速很慢,求解
本帖最后由 ioerr 于 2015-03-16 17:26 编辑



top如图,下面的各个进程,没有占用很多的。

这台机器是用来做网关的,NAT转换,最近发现时常网速很慢,每次top都发现interrupt在20%--30%左右,idle75%上下。
请教这个问题的原因和解决方法,谢谢

作者: ioerr    时间: 2015-03-06 17:26
回复 1# ioerr
几个命令显示如下,供参考。


   

作者: lsstarboy    时间: 2015-03-06 19:34
fxp0和fxp1中断都很高,如果没被攻击的话,是不是跳满百兆了?按82559的性能,这个中断还是比较正常的。

FreeBSD下的命令是:netstat -idbhI fxp0 1,或者用systat -if,都可以看到实时的流量。
作者: ioerr    时间: 2015-03-09 08:49
本帖最后由 ioerr 于 2015-03-09 08:51 编辑

回复 3# lsstarboy


    谢版主,我去试试

------------------
网卡信息:

fxp0 at pci2 dev 6 function 0 "Intel 8255x" rev 0x08, i82559: irq 5, address 00:30:48:51:17:6e
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4

fxp1 at pci2 dev 7 function 0 "Intel 8255x" rev 0x08, i82559: irq 10, address 00:30:48:51:17:70
inphy1 at fxp1 phy 1: i82555 10/100 PHY, rev. 4

作者: ioerr    时间: 2015-03-09 16:25
回复 3# lsstarboy


    能给提供点排查思路么?谢谢。

作者: lsstarboy    时间: 2015-03-09 16:56
回复 5# ioerr


    先netstat -idbhI fxp0 1,看一下每秒发送和接收的包,以及发送和接收的字节数,如果包数大于10K,或者字节数大于9M,就是网卡满了,没有多少可以调节的项目了。

这是我的机器上的,不过是千兆的:

  1. # netstat -idbhI em0 1
  2.             input          (em0)           output
  3.    packets  errs idrops      bytes    packets  errs      bytes colls drops
  4.        20K     0     0       7.4M        23K     0        24M     0     0
  5.        20K     0     0       6.8M        23K     0        25M     0     0
  6.        20K     0     0       6.7M        22K     0        23M     0     0
  7.        21K     0     0       8.3M        24K     0        26M     0     0
复制代码
如果fxp0或(注意这是逻辑或)fxp1的errs和idrops多,一般是有攻击了,攻击源一般就发生在连接该网卡的一边。
如果两个网卡都有errs或idrops,那就是网卡有问题了,可以考虑换一个,特别是errs多的时候。
drops多情况比较多。

还有一种情况就是有了广播风暴,一根网线两头同时进了交换机,这种可以用tcpdump看,会看到大量重复的数据包。
作者: ioerr    时间: 2015-03-10 10:19
回复 6# lsstarboy


    如果包数大于10K,或者字节数大于9M,就是网卡满了
1.   这个9M是不是应该换算成9x8=72Mbps,基本等于100M网卡理论值,所以就是网卡满了。
2.   包数10K怎么定的呢?谢谢。

mrtg监测,网络慢那天的最高流量是70+Mbps。平时没这么高。

作者: lsstarboy    时间: 2015-03-10 15:48
回复 7# ioerr


    那就是你的流量跑满了。百兆的线路持续能跑到72M,已经很不错了,测试的时候能超过90M,正常使用的时候很难达到。一般运营商到60以上就满足了。

10k数据包那是个经验值,一般1k对应1Mbytes/s的流量。

你的网络如果经常慢,那就要限速了,或者限连接数。
作者: ioerr    时间: 2015-03-16 17:24
回复 8# lsstarboy


    抓个网速变化前后的图,有空看看 。上面一秒10Mbytes,下面是恢复了,流量是下降不少。我没看错吧?

作者: lsstarboy    时间: 2015-03-16 18:54
两边严重不对称啊,如果长时间这样,就是被攻击了。
你开两个终端,对照着看看呗。

上面的em0显示进入的是10M/s,跑满带宽了,不可能再跑动了。

另外加个-h参数,可以看的更轻松一点。
作者: podjons    时间: 2015-03-17 01:03
我也在使用OB做了网关,
PF下处理,移动,联通各100M
负载均衡下,网页不能打开,DNS解释有问题
现在一直是使用端口做了策略
明天看看,怎么样
作者: lsstarboy    时间: 2015-03-17 08:32
回复 11# podjons

pf只负责分流吧,DNS设置是客户端的事,是不是有联通的线路,DNS解析使用了移动服务器?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2