Jump to content
Калькуляторы

lagg em странное распределение пакетов

Добрый день коллеги,

 

Имеется NAS FreeBSD 8.2-RELEASE amd64, 2шт em lagg0 и 2шт igb lagg1, драйвера стандартные, все воткнуто в 1 свич.

Наблюдаю странное распределение пакетов на сетевых картах em

 

netstat -w1 -I em0
           input          (em0)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
     5948     0     0    4265616         26     0      39156     0
     8349     0     0    8049113         37     0      47270     0
     7320     0     0    6670766         28     0      40989     0
     7330     0     0    6226815         30     0      41665     0
     6709     0     0    5063275         28     0      42168     0
     8023     0     0    7242285         31     0      39550     0

netstat -w1 -I em3
           input          (em3)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
       95     0     0     125853      11858     0    9475684     0
      170     0     0     238940      10548     0    6714388     0
      214     0     0     295657      10994     0    7317887     0
      307     0     0     440880      12093     0    8041850     0
      297     0     0     424298       9592     0    6329843     0
      357     0     0     498102       9870     0    5920070     0

 

в тоже время на igb картах

 

netstat -w1 -I igb0
           input         (igb0)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
     4277     0     0     519062       6749     0    9399101     0
     4774     0     0     597904       7568     0   10649567     0
     4530     0     0     575183       7095     0   10149349     0
     2990     0     0     436238       4440     0    5752714     0

netstat -w1 -I igb1
           input         (igb1)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
    10017     0     0   12822283       4866     0    2606041     0
     6740     0     0    7829829       4493     0    2705508     0
     9196     0     0   11487842       4664     0    2659089     0
     6683     0     0    7880690       3880     0    2491005     0
     8273     0     0   10056845       4160     0    2653204     0

 

vmstat -i

 

interrupt                          total       rate
irq1: atkbd0                           6          0
irq16: ehci0                       13148          1
irq19: atapci0                     33046          3
irq23: ehci1                       13143          1
cpu0: timer                     17407936       1999
irq256: igb0:que 0              16042787       1843
irq257: igb0:que 1                    54          0
irq258: igb0:que 2                    10          0
irq259: igb0:que 3                     7          0
irq260: igb0:link                      2          0
irq261: igb1:que 0              31038066       3565
irq262: igb1:que 1                 26509          3
irq263: igb1:que 2                 22948          2
irq264: igb1:que 3                105848         12
irq265: igb1:link                      3          0
irq276: em0:rx 0                21058538       2419
irq277: em0:tx 0                  145159         16
irq278: em0:link                       1          0
irq285: em3:rx 0                  851528         97
irq286: em3:tx 0                24393074       2802
irq287: em3:link                       1          0
cpu1: timer                     17407615       1999
cpu3: timer                     17407728       1999
cpu2: timer                     17407688       1999
Total                          163374845      18770

 

Тюнинг

 

cat /boot/loader.conf 
hw.em.rxd=4096
hw.em.txd=4096
hw.igb.rxd=4096
hw.igb.txd=4096
hw.igb.max_interrupt_rate=32000
hw.em.max_interrupt_rate=32000

net.link.ifqmaxlen=10240
net.isr.defaultqlimit=4096
net.isr.maxthreads=4

cat /etc/sysctl.conf 
dev.em.0.rx_int_delay=200
dev.em.0.tx_int_delay=200
dev.em.0.rx_abs_int_delay=4000
dev.em.0.tx_abs_int_delay=4000
dev.em.0.rx_processing_limit=4096

dev.em.1.rx_int_delay=200
dev.em.1.tx_int_delay=200
dev.em.1.rx_abs_int_delay=4000
dev.em.1.tx_abs_int_delay=4000
dev.em.1.rx_processing_limit=4096

dev.em.2.rx_int_delay=200
dev.em.2.tx_int_delay=200
dev.em.2.rx_abs_int_delay=4000
dev.em.2.tx_abs_int_delay=4000
dev.em.2.rx_processing_limit=4096

dev.em.3.rx_int_delay=200
dev.em.3.tx_int_delay=200
dev.em.3.rx_abs_int_delay=4000
dev.em.3.tx_abs_int_delay=4000
dev.em.3.rx_processing_limit=4096

dev.igb.0.rx_processing_limit=4096
dev.igb.1.rx_processing_limit=4096
dev.igb.2.rx_processing_limit=4096
dev.igb.3.rx_processing_limit=4096

net.graph.maxdgram=8388608
net.graph.recvspace=8388608
net.route.netisr_maxqlen=4096
net.inet.ip.intr_queue_maxlen=4096
kern.ipc.nmbclusters=400000
kern.ipc.maxsockbuf=83886080
kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.ipc.maxsockets=204800

 

Как понимать такое поведение на карточках em? По идее пакеты должны распередятся равномерно между картами 50/50 исходящие/входящие.

Edited by ip0203

Share this post


Link to post
Share on other sites

Могу предположить, что по ем у Вас ходит PPPoE? Тогда картина предельно ясна...

Share this post


Link to post
Share on other sites

наоборот PPPоЕ приходит на lagg1, lagg0 аплинк - на нем нет ни вланов ни PPPoE

Edited by ip0203

Share this post


Link to post
Share on other sites

НАТ?

Дело в том, что обычно разделение происходит на основе пар, в т.ч. IP и/или МАС адресов.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this