Jump to content

Recommended Posts

Posted
# netstat -w1 -I em1

input (em1) output

packets errs bytes packets errs bytes colls

295650 0 115891006 295693 0 115559474 0

294464 0 115423958 294387 0 115159194 0

298744 0 117103070 298753 0 116784426 0

298291 0 116925946 298333 0 116604106 0

293423 0 115013258 293380 0 114689186 0

295892 0 115981618 295989 0 115614698 0

297295 0 116531094 297216 0 116139586 0

297884 0 116760494 297940 0 116372826 0

это на чистом роутинге без ipfw ?
  • Replies 296
  • Created
  • Last Reply

Top Posters In This Topic

Posted (edited)
# netstat -w1 -I em1

input (em1) output

packets errs bytes packets errs bytes colls

295650 0 115891006 295693 0 115559474 0

294464 0 115423958 294387 0 115159194 0

а какая карта? Edited by IvanI
Posted

на встроенных примерно также работает

 

            input          (em1)           output
   packets  errs      bytes    packets  errs      bytes colls
    297282     0  116511193     296155     0  116504360     0
    297310     0  116523885     296178     0  116255440     0
    297249     0  116500420     296149     0  116093936     0
    295577     0  115670805     295742     0  115281712     0
    297241     0  116497944     296192     0  116492600     0
    297279     0  116513154     296140     0  116340504     0
    297264     0  116505487     296186     0  116099816     0

Posted
# netstat -w1 -I em1
input (em1) output
packets errs bytes packets errs bytes colls
295650 0 115891006 295693 0 115559474 0
294464 0 115423958 294387 0 115159194 0

а какая карта?

Сказал же, внешняя 1000/PT Dual. У меня все такие. Core2Quad Q8200 без разгона, Asus P5E-VM.

 

это на чистом роутинге без ipfw ?

Все идет через первое правило:

 

00010 129045332 26581763417 allow ip from 192.168.0.0/16 to 192.168.0.0/16

 

На самом деле у меня генератор трафика затыкается быстрее, а стенд собирать лень. Но ошибок на rx нет.

 

На следующей неделе попробую повторить с polling + HZ=4000

 

PS: Да и не нужны мне в жизни такие pps'ы.

Posted

В воскресенье или понедельник привезут чето подобное, попробую и отпишусь, что я уже понял - это тюнить сеть безполезно, единственное при гигабите мелкими пакетами можно дескрипторов по 1к поставить.

Posted
В воскресенье или понедельник привезут чето подобное, попробую и отпишусь, что я уже понял - это тюнить сеть безполезно, единственное при гигабите мелкими пакетами можно дескрипторов по 1к поставить.

loader.conf: hw_em_txd/rxd=4096

 

sysctl

 

net.inet.ip.intr_queue_maxlen=1000

dev.em.1.rx_kthreads: 4

dev.em.1.rx_int_delay: 600

dev.em.1.tx_int_delay: 600

dev.em.1.rx_abs_int_delay: 1000

dev.em.1.tx_abs_int_delay: 1000

 

Это навскидку, там еще что-то в ядре подтюнено.

 

dev.em.1.%desc: Intel® PRO/1000 Network Connection Version - 6.7.3.Yandex[$Revision: 1.40 $]

dev.em.1.%driver: em

dev.em.1.%location: slot=0 function=1

dev.em.1.%pnpinfo: vendor=0x8086 device=0x105e subvendor=0x8086 subdevice=0x125e class=0x020000

 

Posted

Ну так значительно лучше :)

            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
    201134     0  119019678     201058     0  119013120     0
    199703     0  118163879     199589     0  118154176     0
    201204     0  119037568     201005     0  119026442     0
    201858     0  119075306     201088     0  119025770     0
    201331     0  119130649     201254     0  119122048     0
    200876     0  118864791     200778     0  118857050     0

   1195778     0  707646989    1195227     0  707611958     0
   1199401     0  708870988    1197256     0  708722506     0
   1186625     0  701477342    1184685     0  701357386     0
   1191346     0  705072123    1191035     0  705043936     0
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
   1195327     0  707397978    1194823     0  707358752     0
   1191702     0  705173311    1191183     0  705185770     0
   1193539     0  704893173    1190300     0  704632762     0

 

2 порта на PCI-e 4х работает без дропов

Posted (edited)

6 потоков, 600 байт пакет, по 2 потока на 1 карту, роутинг, 1 правило в фаерволе

iperf -u -c 10.189.1.10 -i 10 -l 550 -t 300 -b 450M

тюнинг

лоадер.конф
hw.em.rxd=1024
hw.em.txd=1024

sysctl dev.em.0.rx_int_delay=250
sysctl dev.em.1.rx_int_delay=250
sysctl dev.em.2.rx_int_delay=250

sysctl dev.em.0.tx_int_delay=250
sysctl dev.em.1.tx_int_delay=250
sysctl dev.em.2.tx_int_delay=250

sysctl dev.em.0.rx_abs_int_delay=250
sysctl dev.em.1.rx_abs_int_delay=250
sysctl dev.em.2.rx_abs_int_delay=250

sysctl dev.em.0.tx_abs_int_delay=250
sysctl dev.em.1.tx_abs_int_delay=250
sysctl dev.em.2.tx_abs_int_delay=250

sysctl dev.em.0.rx_processing_limit=400
sysctl dev.em.1.rx_processing_limit=400
sysctl dev.em.2.rx_processing_limit=400

топ

last pid:  1305;  load averages:  1.55,  0.63,  0.27    up 0+01:12:17  14:59:31
79 processes:  5 running, 62 sleeping, 12 waiting
CPU 0:  0.0% user,  0.0% nice, 47.6% system,  0.0% interrupt, 52.4% idle
CPU 1:  0.0% user,  0.0% nice,  0.5% system,  0.0% interrupt, 99.5% idle
CPU 2:  0.0% user,  0.0% nice, 46.0% system,  0.0% interrupt, 54.0% idle
CPU 3:  0.0% user,  0.0% nice, 42.9% system,  0.0% interrupt, 57.1% idle
Mem: 16M Active, 7816K Inact, 36M Wired, 9424K Buf, 1942M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   13 root        1 171 ki31     0K     8K CPU1   1  71:38 100.00% idle: cpu1
   11 root        1 171 ki31     0K     8K RUN    3  70:21 56.49% idle: cpu3
   12 root        1 171 ki31     0K     8K CPU2   2  70:21 54.59% idle: cpu2
   14 root        1 171 ki31     0K     8K RUN    0  70:09 50.20% idle: cpu0
   25 root        1 -68    -     0K     8K -      0   1:30 53.66% em2 taskq
   24 root        1 -68    -     0K     8K -      3   1:21 50.68% em1 taskq
   23 root        1 -68    -     0K     8K -      2   1:20 50.49% em0 taskq
   15 root        1 -32    -     0K     8K WAIT   1   0:07  0.00% swi4: clock
   33 root        1 -68    -     0K     8K -      1   0:04  0.00% dummynet

Edited by IvanI
Posted

50 таких "ipfw add 100 skipto 200 udp from 192.168.20.1 to 10.0.0.1" правил на все (3 ин + 3 оут) дают

last pid:  1424;  load averages:  1.24,  0.62,  0.38    up 0+01:28:54  15:16:08
79 processes:  8 running, 59 sleeping, 12 waiting
CPU 0:  0.0% user,  0.0% nice, 98.4% system,  0.0% interrupt,  1.6% idle
CPU 1:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 2:  0.0% user,  0.0% nice, 93.6% system,  0.0% interrupt,  6.4% idle
CPU 3:  0.0% user,  0.0% nice, 94.0% system,  0.0% interrupt,  6.0% idle
Mem: 18M Active, 7960K Inact, 38M Wired, 9920K Buf, 1939M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   13 root        1 171 ki31     0K     8K RUN    1  88:13 100.00% idle: cpu1
   14 root        1 171 ki31     0K     8K RUN    0  84:55  6.49% idle: cpu0
   12 root        1 171 ki31     0K     8K RUN    2  84:48 15.87% idle: cpu2
   11 root        1 171 ki31     0K     8K RUN    3  84:28 10.35% idle: cpu3
   24 root        1 -68    -     0K     8K CPU3   3   3:51 88.67% em1 taskq
   23 root        1 -68    -     0K     8K CPU2   2   3:31 88.28% em0 taskq
   25 root        1 -68    -     0K     8K CPU0   0   3:20 96.00% em2 taskq

   1182138   701  698681211    1180374     0  698546016     0
   1186016  3874  701817934    1185788     0  701768736     0
   1184495  4728  701050043    1183652     0  701021760     0
   1186188  6301  702061995    1186095     0  702032672     0
   1117753  4849  660628000    1115556     0  660489296     0
   1170420   907  692726736    1170467     0  692702208     0
   1178328  2716  697386236    1177411     0  697356096     0
   1185776  4185  701821737    1185421     0  701795904     0
   1177690  6079  696374490    1176675     0  696272144     0

 

я доволен такими показателями :)

 

50 таких "ipfw add 100 skipto 200 all from 192.168.20.1 to 10.0.0.1" правил на все (3 ин + 3 оут) дают

last pid:  1489;  load averages:  1.56,  0.67,  0.43    up 0+01:34:17  15:21:31
78 processes:  8 running, 58 sleeping, 12 waiting
CPU 0:  0.0% user,  0.0% nice, 85.0% system,  0.0% interrupt, 15.0% idle
CPU 1:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 2:  0.0% user,  0.0% nice, 83.4% system,  0.0% interrupt, 16.6% idle
CPU 3:  0.0% user,  0.0% nice, 78.1% system,  0.0% interrupt, 21.9% idle
Mem: 18M Active, 7956K Inact, 39M Wired, 9920K Buf, 1939M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   13 root        1 171 ki31     0K     8K RUN    1  93:36 100.00% idle: cpu1
   14 root        1 171 ki31     0K     8K RUN    0  89:20 16.06% idle: cpu0
   12 root        1 171 ki31     0K     8K RUN    2  89:16 23.97% idle: cpu2
   11 root        1 171 ki31     0K     8K RUN    3  89:00 20.07% idle: cpu3
   24 root        1 -68    -     0K     8K CPU3   3   4:43 82.76% em1 taskq
   23 root        1 -68    -     0K     8K CPU2   2   4:26 82.86% em0 taskq
   25 root        1 -68    -     0K     8K CPU0   0   4:19 92.19% em2 taskq
   15 root        1 -32    -     0K     8K WAIT   1   0:09  0.00% swi4: clock

            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
   1200290     0  709434087    1198575     0  709286720     0
   1201112     0  710424430    1199630     0  710338698     0
   1169544     0  692176739    1168915     0  692143536     0
   1201369     0  710972622    1201457     0  710929360     0
   1198146     0  709103618    1197745     0  709055370     0
   1201416     0  710193663    1199327     0  710047840     0

Posted
em0: Excessive collisions = 0
em0: Sequence errors = 0
em0: Defer count = 0
em0: Missed Packets = 0
em0: Receive No Buffers = 0
em0: Receive Length Errors = 0
em0: Receive errors = 0
em0: Crc errors = 0
em0: Alignment errors = 0
em0: Collision/Carrier extension errors = 0
em0: RX overruns = 0
em0: watchdog timeouts = 0
em0: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0
em0: XON Rcvd = 0
em0: XON Xmtd = 0
em0: XOFF Rcvd = 0
em0: XOFF Xmtd = 0
em0: Good Packets Rcvd = 86530845
em0: Good Packets Xmtd = 84913790
em0: TSO Contexts Xmtd = 35
em0: TSO Contexts Failed = 0
em0: Adapter hardware address = 0x84dfb218
em0: CTRL = 0x400c0241 RCTL = 0x8002
em0: Packet buffer = Tx=16k Rx=32k
em0: Flow control watermarks high = 30720 low = 29220
em0: tx_int_delay = 244, tx_abs_int_delay = 244
em0: rx_int_delay = 244, rx_abs_int_delay = 244
em0: fifo workaround = 0, fifo_reset_count = 0
em0: hw tdh = 607, hw tdt = 607
em0: hw rdh = 728, hw rdt = 727
em0: Num Tx descriptors avail = 1024
em0: Tx Descriptors not avail1 = 0
em0: Tx Descriptors not avail2 = 0
em0: Std mbuf failed = 0
em0: Std mbuf cluster failed = 0
em0: Driver dropped packets = 0
em0: Driver tx dma failure in encap = 0
em1: Excessive collisions = 0
em1: Sequence errors = 0
em1: Defer count = 0
em1: Missed Packets = 0
em1: Receive No Buffers = 0
em1: Receive Length Errors = 0
em1: Receive errors = 0
em1: Crc errors = 0
em1: Alignment errors = 0
em1: Collision/Carrier extension errors = 0
em1: RX overruns = 0
em1: watchdog timeouts = 0
em1: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0
em1: XON Rcvd = 0
em1: XON Xmtd = 0
em1: XOFF Rcvd = 0
em1: XOFF Xmtd = 0
em1: Good Packets Rcvd = 92178835
em1: Good Packets Xmtd = 90985175
em1: TSO Contexts Xmtd = 0
em1: TSO Contexts Failed = 0
em1: Adapter hardware address = 0x84e06218
em1: CTRL = 0x480c0241 RCTL = 0x8002
em1: Packet buffer = Tx=16k Rx=32k
em1: Flow control watermarks high = 30720 low = 29220
em1: tx_int_delay = 244, tx_abs_int_delay = 244
em1: rx_int_delay = 244, rx_abs_int_delay = 244
em1: fifo workaround = 0, fifo_reset_count = 0
em1: hw tdh = 727, hw tdt = 727
em1: hw rdh = 939, hw rdt = 938
em1: Num Tx descriptors avail = 1024
em1: Tx Descriptors not avail1 = 0
em1: Tx Descriptors not avail2 = 0
em1: Std mbuf failed = 0
em1: Std mbuf cluster failed = 0
em1: Driver dropped packets = 0
em1: Driver tx dma failure in encap = 0
em2: Excessive collisions = 0
em2: Sequence errors = 0
em2: Defer count = 0
em2: Missed Packets = 54689
em2: Receive No Buffers = 3582
em2: Receive Length Errors = 0
em2: Receive errors = 0
em2: Crc errors = 0
em2: Alignment errors = 0
em2: Collision/Carrier extension errors = 0
em2: RX overruns = 2639
em2: watchdog timeouts = 0
em2: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0
em2: XON Rcvd = 0
em2: XON Xmtd = 0
em2: XOFF Rcvd = 0
em2: XOFF Xmtd = 0
em2: Good Packets Rcvd = 77091344
em2: Good Packets Xmtd = 75882617
em2: TSO Contexts Xmtd = 0
em2: TSO Contexts Failed = 0
em2: Adapter hardware address = 0x84e11218
em2: CTRL = 0x48100240 RCTL = 0x8002
em2: Packet buffer = Tx=14k Rx=10k
em2: Flow control watermarks high = 8192 low = 6692
em2: tx_int_delay = 244, tx_abs_int_delay = 244
em2: rx_int_delay = 244, rx_abs_int_delay = 244
em2: fifo workaround = 0, fifo_reset_count = 0
em2: hw tdh = 121, hw tdt = 121
em2: hw rdh = 304, hw rdt = 303
em2: Num Tx descriptors avail = 1024
em2: Tx Descriptors not avail1 = 0
em2: Tx Descriptors not avail2 = 0
em2: Std mbuf failed = 0
em2: Std mbuf cluster failed = 0
em2: Driver dropped packets = 0
em2: Driver tx dma failure in encap = 0
gw1#
gw1# sysctl  -a | grep dev.em
dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 6.9.6
dev.em.0.%driver: em
dev.em.0.%location: slot=0 function=0
dev.em.0.%pnpinfo: vendor=0x8086 device=0x105e subvendor=0x8086 subdevice=0x115e class=0x020000
dev.em.0.%parent: pci1
dev.em.0.debug: -1
dev.em.0.stats: -1
dev.em.0.rx_int_delay: 250
dev.em.0.tx_int_delay: 250
dev.em.0.rx_abs_int_delay: 250
dev.em.0.tx_abs_int_delay: 250
dev.em.0.rx_processing_limit: 400
dev.em.1.%desc: Intel(R) PRO/1000 Network Connection 6.9.6
dev.em.1.%driver: em
dev.em.1.%location: slot=0 function=1
dev.em.1.%pnpinfo: vendor=0x8086 device=0x105e subvendor=0x8086 subdevice=0x115e class=0x020000
dev.em.1.%parent: pci1
dev.em.1.debug: -1
dev.em.1.stats: -1
dev.em.1.rx_int_delay: 250
dev.em.1.tx_int_delay: 250
dev.em.1.rx_abs_int_delay: 250
dev.em.1.tx_abs_int_delay: 250
dev.em.1.rx_processing_limit: 400
dev.em.2.%desc: Intel(R) PRO/1000 Network Connection 6.9.6
dev.em.2.%driver: em
dev.em.2.%location: slot=25 function=0 handle=\_SB_.PCI0.GBE_
dev.em.2.%pnpinfo: vendor=0x8086 device=0x10bd subvendor=0x1462 subdevice=0x6560 class=0x020000
dev.em.2.%parent: pci0
dev.em.2.debug: -1
dev.em.2.stats: -1
dev.em.2.rx_int_delay: 250
dev.em.2.tx_int_delay: 250
dev.em.2.rx_abs_int_delay: 250
dev.em.2.tx_abs_int_delay: 250
dev.em.2.rx_processing_limit: 400
dev.em.2.wake: 0

Posted
Там нету 11.5, там везде в два раза меньше.
В сумме то 11.5 на вход и выход

 

Нет, netstat -w1 считает суммарно вход и выход по всем интерфейсам в первых трех колонках.

 

К примеру:

 

# netstat -w1

input (Total) output

packets errs bytes packets errs bytes colls

453601 0 305333342 451077 0 302955083 0

449225 0 301805930 446362 0 299207746 0

436775 0 289267404 434259 0 286819063 0

437126 0 293162132 433442 0 289437034 0

444993 0 301612742 441794 0 298387870 0

442402 0 297374696 439383 0 295021403 0

450041 0 306566266 447831 0 304550048 0

443171 0 300285904 440495 0 297919891 0

 

Означает 450kpps in+out, 2.4Gbit/s in+out

Posted

а первый тест где получилось 1++ mpps был с тюнеными характеристиками сетевок, или на нетронутых настройках?

 

вот код pf, естественно немного надо под себя изменить

 

int_if = "{em0, em1}"
ext_if = "{em2}"

set limit states 800000
set limit src-nodes 80000
set optimization aggressive
set skip on $int_if

table <LAN> const { 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 }

nat pass on $ext_if from <LAN> to any -> 4.4.4.240/28 bitmask

pass quick from any to any

 

 

 

Posted

а первый тест где получилось 1++ mpps был с тюнеными характеристиками сетевок, или на нетронутых настройках?

 

вот код pf, естественно немного надо под себя изменить

 

int_if = "{em0, em1}"
ext_if = "{em2}"

set limit states 800000
set limit src-nodes 80000
set optimization aggressive
set skip on $int_if

table <LAN> const { 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 }

nat pass on $ext_if from <LAN> to any -> 4.4.4.240/28 bitmask

pass quick from any to any

К этому еще надо нагенерить 800k сессий с 80000 src. Думаю что уже при 230kpps на 250k сессий либо em:tasq либо swi:net у него упрется в ядро и начнутся лаги.

 

Posted (edited)

IvanI, если подвести итог, то на каком железе, операционке и при каких настройках удалось добится максимальной производительности ?

Edited by Kaban
Posted
думаю IvanI реально расстроится когда слезет с синтетики на реальный кокс :)

Это типа - включит BGP full-view ? На самом деле пока будет хватать L2 cache на ipfw/pf/radix сильных изменений не будет.

Posted (edited)

нет, это будет как у меня, всё тюнил(ну разве дрова от яндекса не ставил, потому что вешали систему намертво в прошлые разы),

но моя вариация pf+ipfw убивало всё, причём ничего особенного в ней не было - скраббинг + шейпинг.

 

в итоге плюнул, вывел основной траф мимо маршрутера через отдельный vrf

ну не скрабится он теперь, ну и фиг с ним :)

зато нет головной боли - где же мне покрутить на этот раз чтобы оно тянуло нагрузку.

Edited by ingress
Posted
нет, это будет как у меня, всё тюнил(ну разве дрова от яндекса не ставил, потому что вешали систему намертво в прошлые разы),

но моя вариация pf+ipfw убивало всё, причём ничего особенного в ней не было - скраббинг + шейпинг.

У мине шейпинг бриджованный в одном тазу, скраббинг с натом и BGP на других двух, пашет даже на поллинге. Сейчас запускаю на yandex драйверах все на четырехголовых тазах. К середине марта

думаю закончить.

 

 

И пойду покупать Core i7. :-)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...