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

freebsd NAT

Используем nat ipfw на freebsd 9.2. При превышении некоторого предела(около 5000 пользователей 0,5-1млн трансляций) не линейно возрастает нагрузка kernel.

 

  PID USERNAME      THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
  12 root           38 -84    -     0K   608K WAIT    0 102.9H 460.84% intr
  11 root            8 155 ki31     0K   128K CPU7    7 198.5H 205.22% idle
   0 root           28 -92    0     0K   448K -       1  38.1H 160.50% kernel

Для примера убрали всего 20% пользователей

   0 root           28 -92    0     0K   448K -       6  38.1H  0.00% kernel

 

пробовали менять крутить sysctl, менять железо - все равно не линейно возрастает загрузка kernel.

Т.е. явно не хватает чего-то. Но чего?

 

 

На сервере еще ipcad и шейпер - но проблема не в них(пробовали отключать)

01100 11732384 11570479639 nat tablearg ip from any to table(11) in
03000  9340445  5525103322 nat tablearg ip from table(10) to any out
Таблицы 10=пул реальных 512 ip, 11 наша внутренная подсетка порезанная на 512 частей.
Счетчики недавно сбросили.

 

ipfw nat show
nat 512: icmp=0, udp=1, tcp=172, sctp=0, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=173
...
nat 113: icmp=0, udp=811, tcp=3539, sctp=0, pptp=0, proto=0, frag_id=15583 frag_ptr=0 / tot=19933
...
nat 2: icmp=0, udp=5, tcp=1536, sctp=0, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=1541
nat 1: icmp=0, udp=1668, tcp=2396, sctp=0, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=4064

Share this post


Link to post
Share on other sites

Т.е. явно не хватает чего-то. Но чего?

 

Скорее всего, хеш-таблица сильно заполняется и последовательных поисков становится всё больше. Увеличьте размер хеш-таблицы(в мане на ipfw оно есть).

Share this post


Link to post
Share on other sites

В мануале написано

net.inet.ip.alias.sctp.hashtable_size: 2003

Size of hash tables used for nat lookups (100 < prime_number >

1000001). This value sets the hash table size for any future

created nat instance and therefore must be set prior to creating

a nat instance. The table sizes may be changed to suit specific

needs. If there will be few concurrent associations, and memory

is scarce, you may make these smaller. If there will be many

thousands (or millions) of concurrent associations, you should

make these larger. A prime number is best for the table size.

The sysctl update function will adjust your input value to the

next highest prime number.

Пробовали увеличить с 2003(и перегрузить).

net.inet.ip.alias.sctp.hashtable_size=65531

Не помогло. Не понятно почему в названии присутствует sctp?

Также сейчас поставили(но тоже не помогло)

 

net.inet.ip.portrange.randomized=0
net.inet.ip.portrange.hilast=65535
net.inet.ip.portrange.hifirst=1025
net.inet.ip.portrange.last=65535
net.inet.ip.portrange.first=1025
net.inet.ip.intr_queue_maxlen=2048
net.inet.ip.dummynet.red_max_pkt_size=1500
net.inet.ip.dummynet.red_avg_pkt_size=1500
net.inet.ip.dummynet.red_lookup_depth=1500
net.inet.ip.dummynet.pipe_byte_limit=1048576
net.inet.ip.dummynet.pipe_slot_limit=1000
net.inet.ip.dummynet.hash_size=1024

kern.ipc.nmbclusters=262144
net.inet.tcp.tcbhashsize=4096
hw.ixgbe.rxd=4096
hw.ixgbe.txd=4096
hw.ixgbe.num_queues=8

 

Может я какой-то параметр своим замыленным глазом не вижу?

Share this post


Link to post
Share on other sites

Сталкивался с этой проблемой - ушел на pf как НАТ. Сейчас проблем нет...

М.б. вам тоже попробовать?

Share this post


Link to post
Share on other sites

Сталкивался с этой проблемой - ушел на pf как НАТ. Сейчас проблем нет...

Давно отказались от pf, забыл правда почему. То ли не парралелится, то ли с сложными(ftp,pptp) протоколами проблема.

 

В максимуме около 600Kpps, 5Gbit/s(in+out). Но по pps нагрузка линейно увеличивает interrupt и теоретически выжать до 10Г можно.

Share this post


Link to post
Share on other sites

Не можно, линейно оно только на малой нагрузке идет.

 

Данных маловато.

 

top -SHI , давайте начнем с этого :)

Share this post


Link to post
Share on other sites

Это с другого сервера(сейчас раскидали немного нагрузку, но все равно кернел -100%). К вечеру может быть закину с kernel 500%(не очень удобно на живых пользователях издеваться).

 

top -SHI
last pid: 79640;  load averages:  7.11,  7.72,  7.82                                                                                up 10+06:19:19  15:42:11
188 processes: 20 running, 120 sleeping, 48 waiting
CPU:  3.1% user,  0.0% nice,  9.9% system, 47.2% interrupt, 39.8% idle
Mem: 845M Active, 1191M Inact, 1766M Wired, 80K Cache, 646M Buf, 4047M Free
Swap: 4046M Total, 4046M Free

 PID USERNAME     PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
  12 root         -92    -     0K   864K WAIT    3  83.4H 55.47% intr{irq268: ix0:que }
  12 root         -92    -     0K   864K CPU6    6  83.4H 52.10% intr{irq271: ix0:que }
  12 root         -92    -     0K   864K RUN     2  83.3H 50.88% intr{irq267: ix0:que }
  12 root         -92    -     0K   864K WAIT    8  80.1H 50.78% intr{irq273: ix0:que }
  12 root         -92    -     0K   864K CPU0    0  83.3H 50.68% intr{irq265: ix0:que }
  12 root         -92    -     0K   864K CPU5    5  83.4H 49.85% intr{irq270: ix0:que }
  12 root         -92    -     0K   864K CPU1    1  83.1H 48.97% intr{irq266: ix0:que }
  12 root         -92    -     0K   864K WAIT    9  78.8H 48.88% intr{irq274: ix0:que }
  12 root         -92    -     0K   864K WAIT    7  83.6H 48.10% intr{irq272: ix0:que }
  12 root         -92    -     0K   864K WAIT    4  83.6H 47.46% intr{irq269: ix0:que }
  11 root         155 ki31     0K   192K CPU4    4 132.9H 46.97% idle{idle: cpu4}
  11 root         155 ki31     0K   192K CPU11  11 136.6H 46.88% idle{idle: cpu11}
  12 root         -92    -     0K   864K WAIT   10  79.5H 46.39% intr{irq275: ix0:que }
  11 root         155 ki31     0K   192K RUN     1 133.4H 46.29% idle{idle: cpu1}
  11 root         155 ki31     0K   192K CPU9    9 137.2H 46.19% idle{idle: cpu9}
  11 root         155 ki31     0K   192K RUN     2 133.3H 45.36% idle{idle: cpu2}
  11 root         155 ki31     0K   192K CPU10  10 136.5H 45.26% idle{idle: cpu10}
  11 root         155 ki31     0K   192K RUN     8 136.1H 44.97% idle{idle: cpu8}
  11 root         155 ki31     0K   192K RUN     5 133.0H 43.36% idle{idle: cpu5}
  11 root         155 ki31     0K   192K RUN     0 133.0H 42.77% idle{idle: cpu0}
  11 root         155 ki31     0K   192K RUN     7 132.8H 42.68% idle{idle: cpu7}
  12 root         -92    -     0K   864K CPU11  11  79.3H 42.48% intr{irq276: ix0:que }
  11 root         155 ki31     0K   192K RUN     6 133.1H 41.36% idle{idle: cpu6}
  11 root         155 ki31     0K   192K RUN     3 133.0H 37.99% idle{idle: cpu3}
3094 root          36  -15  1099M  1000M select  8  54.1H 35.89% ipcad{ipcad}
   0 root         -92    0     0K   576K -      10  23.9H  8.50% kernel{ix0 que}
   0 root         -92    0     0K   576K -       4  21.0H  8.50% kernel{ix0 que}
   0 root         -92    0     0K   576K -       0  20.1H  6.15% kernel{ix0 que}
   0 root         -92    0     0K   576K -       5  23.3H  6.05% kernel{ix0 que}
   0 root         -92    0     0K   576K -       7  23.6H  5.57% kernel{ix0 que}
   0 root         -92    0     0K   576K CPU2    8  23.7H  5.27% kernel{ix0 que}
   0 root         -92    0     0K   576K -      11  23.5H  5.27% kernel{ix0 que}
   0 root         -92    0     0K   576K -       2  23.8H  5.18% kernel{ix0 que}
   0 root         -92    0     0K   576K -       4  20.5H  5.18% kernel{ix0 que}
   0 root         -92    0     0K   576K -       1  23.7H  4.98% kernel{ix0 que}
   0 root         -92    0     0K   576K -      10  23.5H  3.86% kernel{ix0 que}
   0 root         -92    0     0K   576K -       2  20.6H  3.56% kernel{ix0 que}
3043 bind          20    0   271M   203M uwait   4  91:25  0.20% named{named}
3043 bind          20    0   271M   203M uwait  10  91:30  0.10% named{named}
3043 bind          20    0   271M   203M uwait   1  91:28  0.10% named{named}
3043 bind          20    0   271M   203M uwait   8  91:23  0.10% named{named}
3043 bind          20    0   271M   203M uwait   5  91:23  0.10% named{named}
3043 bind          20    0   271M   203M uwait   6  91:22  0.10% named{named}
3043 bind          20    0   271M   203M uwait   7  91:20  0.10% named{named}






vmstat -z
ITEM                   SIZE  LIMIT     USED     FREE      REQ FAIL SLEEP

UMA Kegs:               208,      0,      89,      13,      89,   0,   0
UMA Zones:             1920,      0,      89,       1,      89,   0,   0
UMA Slabs:              568,      0,   23719,       4,   41906,   0,   0
UMA RCntSlabs:          568,      0,   28282,       5,   28282,   0,   0
UMA Hash:               256,      0,       0,      15,       4,   0,   0
16 Bucket:              152,      0,     221,       4,     221,   0,   0
32 Bucket:              280,      0,     300,       8,     300,   6,   0
64 Bucket:              536,      0,     532,       0,     532,  75,   0
128 Bucket:            1048,      0,   21357,       0,   21357,3515,   0
VM OBJECT:              232,      0,  105698,    9022, 3213392,   0,   0
MAP:                    232,      0,       8,      24,       8,   0,   0
KMAP ENTRY:             120, 275869,    2580,    1233, 1737010,   0,   0
MAP ENTRY:              120,      0,   41095,    3545, 7180154,   0,   0
fakepg:                 120,      0,       0,       0,       0,   0,   0
mt_zone:               4112,      0,     337,       6,     337,   0,   0
16:                      16,      0,    4688,    2200,2087725389,   0,   0
32:                      32,      0,  544238,    2576,38867421,   0,   0
64:                      64,      0,   86005,    9027,31943767,   0,   0
128:                    128,      0, 1299148, 1584641,5935274630,   0,   0
256:                    256,      0,   49398,   13992,1444535189,   0,   0
512:                    512,      0,    1655,   15145, 2231625,   0,   0
1024:                  1024,      0,      76,     780,  154512,   0,   0
2048:                  2048,      0,    5471,    2007,   72751,   0,   0
4096:                  4096,      0,     464,     923,  241366,   0,   0
Files:                   80,      0,     159,    1236,23782643,   0,   0
rl_entry:                40,      0,     369,     723,     369,   0,   0
TURNSTILE:              136,      0,     877,     203,     877,   0,   0
umtx pi:                 96,      0,       0,       0,       0,   0,   0
MAC labels:              40,      0,       0,       0,       0,   0,   0
PROC:                  1192,      0,      52,     350,  179517,   0,   0
THREAD:                1160,      0,     535,     341,    4219,   0,   0
SLEEPQUEUE:              80,      0,     877,     312,     877,   0,   0
VMSPACE:                392,      0,      36,     454,  179496,   0,   0
cpuset:                  72,      0,     136,      64,     160,   0,   0
audit_record:           960,      0,       0,       0,       0,   0,   0
mbuf_packet:            256,      0,   49673,    5111,320733686677,   0,   0
mbuf:                   256,      0,     174,    4562,691212207759,   0,   0
mbuf_cluster:          2048, 262144,   54784,       6,   54784,   0,   0
mbuf_jumbo_page:       4096, 131072,       0,     887,541605104,   0,   0
mbuf_jumbo_9k:         9216,  65536,       0,       0,       0,   0,   0
mbuf_jumbo_16k:       16384,  32768,       0,       0,       0,   0,   0
mbuf_ext_refcnt:          4,      0,       0,       0,       0,   0,   0
g_bio:                  248,      0,       0,   15825, 3375596,   0,   0
ttyinq:                 160,      0,     300,     588,    1470,   0,   0
ttyoutq:                256,      0,     157,     353,     766,   0,   0
ata_request:            328,      0,       0,       0,       0,   0,   0
ata_composite:          336,      0,       0,       0,       0,   0,   0
FPU_save_area:          832,      0,       0,       0,       0,   0,   0
VNODE:                  504,      0,  107749,   16563, 7262441,   0,   0
VNODEPOLL:              112,      0,       0,       0,       0,   0,   0
NAMEI:                 1024,      0,       0,     288,18269932,   0,   0
S VFS Cache:            108,      0,   95407,   27980, 6889894,   0,   0
STS VFS Cache:          148,      0,       0,       0,       0,   0,   0
L VFS Cache:            328,      0,   25003,    1001,  624985,   0,   0
LTS VFS Cache:          368,      0,       0,       0,       0,   0,   0
DIRHASH:               1024,      0,    2654,     522,    2826,   0,   0
NCLNODE:                568,      0,       0,       0,       0,   0,   0
Mountpoints:            824,      0,       6,      14,       6,   0,   0
pipe:                   728,      0,       5,     285,   58022,   0,   0
ksiginfo:               112,      0,     392,    1159,   34628,   0,   0
itimer:                 344,      0,       1,      21,       1,   0,   0
KNOTE:                  128,      0,      22,    1022,1140203335,   0,   0
socket:                 680, 262146,      76,     812,19584825,   0,   0
unpcb:                  240, 262144,      23,     441,   15988,   0,   0
ipq:                     56,   8253,       0,    1827,   48534,   0,   0
udp_inpcb:              392, 262150,      26,     614,18342019,   0,   0
udpcb:                   16, 262248,      26,    2158,18342019,   0,   0
tcp_inpcb:              392, 262150,      32,    2128, 1207370,   0,   0
tcpcb:                  976, 262144,      24,     932, 1207370,   0,   0
tcptw:                   72,  27800,       8,    2392, 1024722,   0,   0
syncache:               152,  15375,       0,     700, 1104313,   0,   0
hostcache:              136,  15372,      17,     711,    6361,   0,   0
tcpreass:                40,  16464,       0,    1260,    7788,   0,   0
sackhole:                32,      0,       0,    1313,    2039,   0,   0
sctp_ep:               1384, 262144,       0,       0,       0,   0,   0
sctp_asoc:             2288,  40000,       0,       0,       0,   0,   0
sctp_laddr:              48,  80064,       0,     432,      12,   0,   0
sctp_raddr:             704,  80000,       0,       0,       0,   0,   0
sctp_chunk:             136, 400008,       0,       0,       0,   0,   0
sctp_readq:             104, 400032,       0,       0,       0,   0,   0
sctp_stream_msg_out:    104, 400032,       0,       0,       0,   0,   0
sctp_asconf:             40, 400008,       0,       0,       0,   0,   0
sctp_asconf_ack:         48, 400032,       0,       0,       0,   0,   0
ripcb:                  392, 262150,       1,     309,   19441,   0,   0
rtentry:                200,      0,  477512,    1383, 6247099,   0,   0
IPFW dynamic rule:      120,   4123,       0,       0,       0,   0,   0
selfd:                   56,      0,    1204,    2135,11013623787,   0,   0
SWAPMETA:               288, 1004822,       0,       0,       0,   0,   0
FFS inode:              168,      0,  107710,   16524, 7262251,   0,   0
FFS1 dinode:            128,      0,       0,       0,       0,   0,   0
FFS2 dinode:            256,      0,  107710,   16670, 7262251,   0,   0

Share this post


Link to post
Share on other sites
 netstat -m
50413/9107/59520 mbufs in use (current/cache/total)
49969/4821/54790/262144 mbuf clusters in use (current/cache/total/max)
49969/4815 mbuf+clusters out of packet secondary zone in use (current/cache)
0/887/887/131072 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/65536 9k jumbo clusters in use (current/cache/total/max)
0/0/0/32768 16k jumbo clusters in use (current/cache/total/max)
112550K/15466K/128016K bytes allocated to network (current/cache/total)
0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/0/0 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
0 calls to protocol drain routines


vmstat -i
interrupt                          total       rate
irq1: atkbd0                         186          0
irq23: ehci0 ehci1               2689242          3
cpu0:timer                     999561798       1123
irq264: hdac0                          7          0
irq265: ix0:que 0             6920596926       7780
irq266: ix0:que 1             7147517431       8035
irq267: ix0:que 2             7154691446       8043
irq268: ix0:que 3             7151406440       8040
irq269: ix0:que 4             7093939057       7975
irq270: ix0:que 5             7126984121       8012
irq271: ix0:que 6             7084866117       7965
irq272: ix0:que 7             7058753850       7935
irq273: ix0:que 8             7271226617       8174
irq274: ix0:que 9             7359086519       8273
irq275: ix0:que 10            7254368122       8155
irq276: ix0:que 11            7252851760       8154
irq277: ix0:link                       5          0
irq291: hdac1                         90          0
irq295: re0                        25887          0
irq296: ahci1                     720065          0
cpu1:timer                     976774323       1098
cpu8:timer                     977863669       1099
cpu11:timer                    978435468       1100
cpu5:timer                     975946362       1097
cpu6:timer                     976055953       1097
cpu3:timer                     975627830       1096
cpu4:timer                     975848542       1097
cpu10:timer                    978273744       1099
cpu9:timer                     979381700       1101
cpu2:timer                     976923905       1098
cpu7:timer                     976254721       1097
Total                        97626671903     109759

Share this post


Link to post
Share on other sites

ix.1 не приводил т.к. все через 0.

 

dev.ix.0.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 2.5.15
dev.ix.0.%driver: ix
dev.ix.0.%location: slot=0 function=0 handle=\_SB_.PCI0.NPE7.HRU4
dev.ix.0.%pnpinfo: vendor=0x8086 device=0x1528 subvendor=0x8086 subdevice=0x0001 class=0x020000
dev.ix.0.%parent: pci2
dev.ix.0.fc: 3
dev.ix.0.enable_aim: 1
dev.ix.0.advertise_speed: 0
dev.ix.0.ts: 0
dev.ix.0.dropped: 0
dev.ix.0.mbuf_defrag_failed: 0
dev.ix.0.watchdog_events: 0
dev.ix.0.link_irq: 5
dev.ix.0.queue0.interrupt_rate: 13513
dev.ix.0.queue0.irqs: 6926661219
dev.ix.0.queue0.txd_head: 565
dev.ix.0.queue0.txd_tail: 569
dev.ix.0.queue0.tso_tx: 4712140
dev.ix.0.queue0.no_tx_dma_setup: 0
dev.ix.0.queue0.no_desc_avail: 0
dev.ix.0.queue0.tx_packets: 35539043157
dev.ix.0.queue0.rxd_head: 2688
dev.ix.0.queue0.rxd_tail: 2279
dev.ix.0.queue0.rx_packets: 36319152366
dev.ix.0.queue0.rx_bytes: 28321654298578
dev.ix.0.queue0.rx_copies: 16533514846
dev.ix.0.queue0.lro_queued: 0
dev.ix.0.queue0.lro_flushed: 0
dev.ix.0.queue1.interrupt_rate: 5208
dev.ix.0.queue1.irqs: 7153984193
dev.ix.0.queue1.txd_head: 2860
dev.ix.0.queue1.txd_tail: 2860
dev.ix.0.queue1.tso_tx: 5285832
dev.ix.0.queue1.no_tx_dma_setup: 0
dev.ix.0.queue1.no_desc_avail: 0
dev.ix.0.queue1.tx_packets: 35469425040
dev.ix.0.queue1.rxd_head: 1258
dev.ix.0.queue1.rxd_tail: 1208
dev.ix.0.queue1.rx_packets: 36254426297
dev.ix.0.queue1.rx_bytes: 28200529046737
dev.ix.0.queue1.rx_copies: 16575019440
dev.ix.0.queue1.lro_queued: 0
dev.ix.0.queue1.lro_flushed: 0
dev.ix.0.queue2.interrupt_rate: 62500
dev.ix.0.queue2.irqs: 7160920923
dev.ix.0.queue2.txd_head: 726
dev.ix.0.queue2.txd_tail: 726
dev.ix.0.queue2.tso_tx: 4859500
dev.ix.0.queue2.no_tx_dma_setup: 0
dev.ix.0.queue2.no_desc_avail: 0
dev.ix.0.queue2.tx_packets: 35596386914
dev.ix.0.queue2.rxd_head: 330
dev.ix.0.queue2.rxd_tail: 320
dev.ix.0.queue2.rx_packets: 36366860610
dev.ix.0.queue2.rx_bytes: 28199735259531
dev.ix.0.queue2.rx_copies: 16675268087
dev.ix.0.queue2.lro_queued: 0
dev.ix.0.queue2.lro_flushed: 0
dev.ix.0.queue3.interrupt_rate: 100000
dev.ix.0.queue3.irqs: 7157510315
dev.ix.0.queue3.txd_head: 1389
dev.ix.0.queue3.txd_tail: 1389
dev.ix.0.queue3.tso_tx: 5515793
dev.ix.0.queue3.no_tx_dma_setup: 0
dev.ix.0.queue3.no_desc_avail: 0
dev.ix.0.queue3.tx_packets: 35614961014
dev.ix.0.queue3.rxd_head: 66
dev.ix.0.queue3.rxd_tail: 55
dev.ix.0.queue3.rx_packets: 36408434750
dev.ix.0.queue3.rx_bytes: 28265745039522
dev.ix.0.queue3.rx_copies: 16646486344
dev.ix.0.queue3.lro_queued: 0
dev.ix.0.queue3.lro_flushed: 0
dev.ix.0.queue4.interrupt_rate: 10869
dev.ix.0.queue4.irqs: 7100257687
dev.ix.0.queue4.txd_head: 745
dev.ix.0.queue4.txd_tail: 745
dev.ix.0.queue4.tso_tx: 5324458
dev.ix.0.queue4.no_tx_dma_setup: 0
dev.ix.0.queue4.no_desc_avail: 0
dev.ix.0.queue4.tx_packets: 35674434676
dev.ix.0.queue4.rxd_head: 2180
dev.ix.0.queue4.rxd_tail: 1784
dev.ix.0.queue4.rx_packets: 36443035390
dev.ix.0.queue4.rx_bytes: 28406838348815
dev.ix.0.queue4.rx_copies: 16609682128
dev.ix.0.queue4.lro_queued: 0
dev.ix.0.queue4.lro_flushed: 0
dev.ix.0.queue5.interrupt_rate: 125000
dev.ix.0.queue5.irqs: 7132523624
dev.ix.0.queue5.txd_head: 1947
dev.ix.0.queue5.txd_tail: 1947
dev.ix.0.queue5.tso_tx: 6174142
dev.ix.0.queue5.no_tx_dma_setup: 0
dev.ix.0.queue5.no_desc_avail: 0
dev.ix.0.queue5.tx_packets: 35618141135
dev.ix.0.queue5.rxd_head: 902
dev.ix.0.queue5.rxd_tail: 505
dev.ix.0.queue5.rx_packets: 36392755711
dev.ix.0.queue5.rx_bytes: 28355723862465
dev.ix.0.queue5.rx_copies: 16593503870
dev.ix.0.queue5.lro_queued: 0
dev.ix.0.queue5.lro_flushed: 0
dev.ix.0.queue6.interrupt_rate: 12195
dev.ix.0.queue6.irqs: 7090348134
dev.ix.0.queue6.txd_head: 1534
dev.ix.0.queue6.txd_tail: 1534
dev.ix.0.queue6.tso_tx: 5608711
dev.ix.0.queue6.no_tx_dma_setup: 0
dev.ix.0.queue6.no_desc_avail: 0
dev.ix.0.queue6.tx_packets: 35500500762
dev.ix.0.queue6.rxd_head: 102
dev.ix.0.queue6.rxd_tail: 3617
dev.ix.0.queue6.rx_packets: 36291468834
dev.ix.0.queue6.rx_bytes: 28314936152198
dev.ix.0.queue6.rx_copies: 16504310860
dev.ix.0.queue6.lro_queued: 0
dev.ix.0.queue6.lro_flushed: 0
dev.ix.0.queue7.interrupt_rate: 21739
dev.ix.0.queue7.irqs: 7065317417
dev.ix.0.queue7.txd_head: 2357
dev.ix.0.queue7.txd_tail: 2357
dev.ix.0.queue7.tso_tx: 5417557
dev.ix.0.queue7.no_tx_dma_setup: 0
dev.ix.0.queue7.no_desc_avail: 0
dev.ix.0.queue7.tx_packets: 35777651786
dev.ix.0.queue7.rxd_head: 657
dev.ix.0.queue7.rxd_tail: 656
dev.ix.0.queue7.rx_packets: 36556907153
dev.ix.0.queue7.rx_bytes: 28674857635624
dev.ix.0.queue7.rx_copies: 16530522610
dev.ix.0.queue7.lro_queued: 0
dev.ix.0.queue7.lro_flushed: 0
dev.ix.0.queue8.interrupt_rate: 13888
dev.ix.0.queue8.irqs: 7277859974
dev.ix.0.queue8.txd_head: 929
dev.ix.0.queue8.txd_tail: 929
dev.ix.0.queue8.tso_tx: 4282455
dev.ix.0.queue8.no_tx_dma_setup: 0
dev.ix.0.queue8.no_desc_avail: 0
dev.ix.0.queue8.tx_packets: 33270153725
dev.ix.0.queue8.rxd_head: 3597
dev.ix.0.queue8.rxd_tail: 3299
dev.ix.0.queue8.rx_packets: 33796836584
dev.ix.0.queue8.rx_bytes: 26440163816818
dev.ix.0.queue8.rx_copies: 15323050805
dev.ix.0.queue8.lro_queued: 0
dev.ix.0.queue8.lro_flushed: 0
dev.ix.0.queue9.interrupt_rate: 20833
dev.ix.0.queue9.irqs: 7365802784
dev.ix.0.queue9.txd_head: 2711
dev.ix.0.queue9.txd_tail: 2711
dev.ix.0.queue9.tso_tx: 4818148
dev.ix.0.queue9.no_tx_dma_setup: 0
dev.ix.0.queue9.no_desc_avail: 0
dev.ix.0.queue9.tx_packets: 32861767414
dev.ix.0.queue9.rxd_head: 2040
dev.ix.0.queue9.rxd_tail: 2039
dev.ix.0.queue9.rx_packets: 33353402362
dev.ix.0.queue9.rx_bytes: 25953216224077
dev.ix.0.queue9.rx_copies: 15214180920
dev.ix.0.queue9.lro_queued: 0
dev.ix.0.queue9.lro_flushed: 0
dev.ix.0.queue10.interrupt_rate: 16666
dev.ix.0.queue10.irqs: 7260700516
dev.ix.0.queue10.txd_head: 3102
dev.ix.0.queue10.txd_tail: 3110
dev.ix.0.queue10.tso_tx: 4729937
dev.ix.0.queue10.no_tx_dma_setup: 0
dev.ix.0.queue10.no_desc_avail: 0
dev.ix.0.queue10.tx_packets: 32986540966
dev.ix.0.queue10.rxd_head: 2631
dev.ix.0.queue10.rxd_tail: 1584
dev.ix.0.queue10.rx_packets: 33523213882
dev.ix.0.queue10.rx_bytes: 26252388856994
dev.ix.0.queue10.rx_copies: 15219596504
dev.ix.0.queue10.lro_queued: 0
dev.ix.0.queue10.lro_flushed: 0
dev.ix.0.queue11.interrupt_rate: 16666
dev.ix.0.queue11.irqs: 7259612520
dev.ix.0.queue11.txd_head: 1250
dev.ix.0.queue11.txd_tail: 1254
dev.ix.0.queue11.tso_tx: 4291425
dev.ix.0.queue11.no_tx_dma_setup: 0
dev.ix.0.queue11.no_desc_avail: 0
dev.ix.0.queue11.tx_packets: 32840554325
dev.ix.0.queue11.rxd_head: 3310
dev.ix.0.queue11.rxd_tail: 3111
dev.ix.0.queue11.rx_packets: 33339833393
dev.ix.0.queue11.rx_bytes: 26093549844807
dev.ix.0.queue11.rx_copies: 15138060080
dev.ix.0.queue11.lro_queued: 0
dev.ix.0.queue11.lro_flushed: 0
dev.ix.0.mac_stats.crc_errs: 0
dev.ix.0.mac_stats.ill_errs: 3
dev.ix.0.mac_stats.byte_errs: 10
dev.ix.0.mac_stats.short_discards: 0
dev.ix.0.mac_stats.local_faults: 9
dev.ix.0.mac_stats.remote_faults: 0
dev.ix.0.mac_stats.rec_len_errs: 0
dev.ix.0.mac_stats.xon_txd: 1084500
dev.ix.0.mac_stats.xon_recvd: 0
dev.ix.0.mac_stats.xoff_txd: 2130098
dev.ix.0.mac_stats.xoff_recvd: 0
dev.ix.0.mac_stats.total_octets_rcvd: 334919901724435
dev.ix.0.mac_stats.good_octets_rcvd: 334879608729751
dev.ix.0.mac_stats.total_pkts_rcvd: 425126753266
dev.ix.0.mac_stats.good_pkts_rcvd: 425046200876
dev.ix.0.mac_stats.mcast_pkts_rcvd: 5064
dev.ix.0.mac_stats.bcast_pkts_rcvd: 751786
dev.ix.0.mac_stats.rx_frames_64: 4111124536
dev.ix.0.mac_stats.rx_frames_65_127: 179314144274
dev.ix.0.mac_stats.rx_frames_128_255: 14553338969
dev.ix.0.mac_stats.rx_frames_256_511: 6543150327
dev.ix.0.mac_stats.rx_frames_512_1023: 10342750955
dev.ix.0.mac_stats.rx_frames_1024_1522: 210181691817
dev.ix.0.mac_stats.recv_undersized: 0
dev.ix.0.mac_stats.recv_fragmented: 0
dev.ix.0.mac_stats.recv_oversized: 10286
dev.ix.0.mac_stats.recv_jabberd: 3
dev.ix.0.mac_stats.management_pkts_rcvd: 0
dev.ix.0.mac_stats.management_pkts_drpd: 0
dev.ix.0.mac_stats.checksum_errs: 8301266
dev.ix.0.mac_stats.good_octets_txd: 335552855191356
dev.ix.0.mac_stats.total_pkts_txd: 417077811908
dev.ix.0.mac_stats.good_pkts_txd: 417074597304
dev.ix.0.mac_stats.bcast_pkts_txd: 200033
dev.ix.0.mac_stats.mcast_pkts_txd: 0
dev.ix.0.mac_stats.management_pkts_txd: 0
dev.ix.0.mac_stats.tx_frames_64: 43235267561
dev.ix.0.mac_stats.tx_frames_65_127: 131511931271
dev.ix.0.mac_stats.tx_frames_128_255: 14100901488
dev.ix.0.mac_stats.tx_frames_256_511: 6538076725
dev.ix.0.mac_stats.tx_frames_512_1023: 10444530599
dev.ix.0.mac_stats.tx_frames_1024_1522: 211243889666

Share this post


Link to post
Share on other sites

В /boot/loader.conf увеличили количество tx/rx-дескрипторов? Похоже что нет, потому что явно прерываний не хватает.

Дикие они какие-то:

dev.ix.0.queue5.interrupt_rate: 125000

Вообще какие-то странные цифры в прерываниях, vmstat -i показывает цифры, похожие на результат срабатывания raidc (interrupt moderation), все значения крутятся около 8к.

Как-то странно выглядит, обновляли ядро stable/9? Там много изменений закомиттили, как раз например исправили неправильные отображения статистики при расхождении данных драйвера и системы в vmstat.

Share this post


Link to post
Share on other sites

Ядро сейчас 9.2-RELEASE #4:, 9.2-RELEASE #0, FreeBSD 9.1-RELEASE #0 (разные сервера, привожу данные с 9.2-RELEASE #4).

 

Цифры интеруптов наверное не правильные. Но дело, вроде, не в них(т.к. и при kernel=0% они такие)

dev.ix.0.queue0.interrupt_rate: 100000
dev.ix.0.queue1.interrupt_rate: 18518
dev.ix.0.queue2.interrupt_rate: 13513
dev.ix.0.queue3.interrupt_rate: 5434
dev.ix.0.queue4.interrupt_rate: 15625
dev.ix.0.queue5.interrupt_rate: 11363
dev.ix.0.queue6.interrupt_rate: 27777
dev.ix.0.queue7.interrupt_rate: 16129
dev.ix.0.queue8.interrupt_rate: 27777
dev.ix.0.queue9.interrupt_rate: 12500
dev.ix.0.queue10.interrupt_rate: 13888
dev.ix.0.queue11.interrupt_rate: 20000

повтор с интервалом в несколько секунд

sysctl -a | grep interr

kern.random.sys.harvest.interrupt: 1
vm.stats.vm.v_interrupt_free_min: 2
hw.igb.max_interrupt_rate: 8000
dev.ix.0.queue0.interrupt_rate: 16129
dev.ix.0.queue1.interrupt_rate: 27777
dev.ix.0.queue2.interrupt_rate: 6024
dev.ix.0.queue3.interrupt_rate: 100000
dev.ix.0.queue4.interrupt_rate: 18518
dev.ix.0.queue5.interrupt_rate: 15151
dev.ix.0.queue6.interrupt_rate: 13157
dev.ix.0.queue7.interrupt_rate: 10204
dev.ix.0.queue8.interrupt_rate: 11904
dev.ix.0.queue9.interrupt_rate: 500000
dev.ix.0.queue10.interrupt_rate: 11111
dev.ix.0.queue11.interrupt_rate: 100000

Share this post


Link to post
Share on other sites

Вот с другого сервера. Сейчас на нем кернел=0

 

 netstat -I ix0 -w 1 -h
           input          (ix0)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
     795k     0     0       716M       792k     0       714M     0
     780k     0     0       701M       776k     0       703M     0


  12 root         -92    -     0K   672K CPU6    6 107.7H 61.67% intr{irq270: ix0:que }
  12 root         -92    -     0K   672K CPU4    4 107.4H 61.57% intr{irq268: ix0:que }
  12 root         -92    -     0K   672K CPU0    0 107.6H 61.38% intr{irq264: ix0:que }
  12 root         -92    -     0K   672K WAIT    1 108.1H 56.69% intr{irq265: ix0:que }
  12 root         -92    -     0K   672K CPU3    3 107.5H 54.05% intr{irq267: ix0:que }
  12 root         -92    -     0K   672K WAIT    7 107.2H 53.76% intr{irq271: ix0:que }
  12 root         -92    -     0K   672K CPU5    5 107.0H 53.08% intr{irq269: ix0:que }
  12 root         -92    -     0K   672K CPU2    2 107.6H 52.49% intr{irq266: ix0:que }
  11 root         155 ki31     0K   128K CPU7    7 206.4H 47.46% idle{idle: cpu7}
  11 root         155 ki31     0K   128K RUN     3 206.2H 46.09% idle{idle: cpu3}
  11 root         155 ki31     0K   128K RUN     2 206.2H 46.09% idle{idle: cpu2}
  11 root         155 ki31     0K   128K RUN     5 206.6H 43.16% idle{idle: cpu5}
  11 root         155 ki31     0K   128K CPU1    1 205.8H 43.07% idle{idle: cpu1}
  11 root         155 ki31     0K   128K RUN     6 206.0H 39.16% idle{idle: cpu6}
  11 root         155 ki31     0K   128K CPU4    4 206.3H 38.77% idle{idle: cpu4}
  11 root         155 ki31     0K   128K RUN     0 206.1H 38.67% idle{idle: cpu0}
3707 root          25  -15   679M   609M select  3  49.9H 28.37% ipcad{ipcad}

vmstat -z
ITEM                   SIZE  LIMIT     USED     FREE      REQ FAIL SLEEP

UMA Kegs:               208,      0,      89,      13,      89,   0,   0
UMA Zones:             1408,      0,      89,       1,      89,   0,   0
UMA Slabs:              568,      0,   21132,       1,   22271,   0,   0
UMA RCntSlabs:          568,      0,   19162,       4,   19162,   0,   0
UMA Hash:               256,      0,       0,      15,       4,   0,   0
16 Bucket:              152,      0,     182,      18,     182,   0,   0
32 Bucket:              280,      0,     273,       7,     273,   0,   0
64 Bucket:              536,      0,     270,       3,     270, 301,   0
128 Bucket:            1048,      0,   18646,       2,   18646,2682,   0
VM OBJECT:              232,      0,   55739,    9605, 2922885,   0,   0
MAP:                    240,      0,       8,      24,       8,   0,   0
KMAP ENTRY:             128, 522406,     404,    1858, 1700208,   0,   0
MAP ENTRY:              128,      0,    1929,    1725, 6248598,   0,   0
fakepg:                 120,      0,       0,       0,       0,   0,   0
mt_zone:               4112,      0,     336,       7,     336,   0,   0
16:                      16,      0,    3387,    1317, 2508850,   0,   0
32:                      32,      0,   17639,    1652, 5168118,   0,   0
64:                      64,      0,   13968,  142832,10910266,   0,   0
128:                    128,      0,  955142,  997399,4728768323,   0,   0
256:                    256,      0,    6668,    3682,2194639423,   0,   0
512:                    512,      0,    1265,  145049, 2234947,   0,   0
1024:                  1024,      0,      78,     326,   88865,   0,   0
2048:                  2048,      0,    5172,    1186,  114560,   0,   0
4096:                  4096,      0,     463,     615,  241819,   0,   0
Files:                   80,      0,     117,     693, 5996975,   0,   0
rl_entry:                40,      0,     220,     536,     220,   0,   0
TURNSTILE:              136,      0,     616,     124,     616,   0,   0
umtx pi:                 96,      0,       0,       0,       0,   0,   0
MAC labels:              40,      0,       0,       0,       0,   0,   0
PROC:                  1192,      0,      46,     197,  166313,   0,   0
THREAD:                1160,      0,     334,     281,    5199,   0,   0
SLEEPQUEUE:              80,      0,     616,     167,     616,   0,   0
VMSPACE:                400,      0,      30,     276,  166295,   0,   0
cpuset:                  72,      0,     107,      93,     123,   0,   0
audit_record:           960,      0,       0,       0,       0,   0,   0
mbuf_packet:            256, 3121110,   33087,    4417,414581908076,   0,   0
mbuf:                   256, 3121110,     146,    3060,803331405856,   0,   0
mbuf_cluster:          2048, 262144,   37504,       6,   37504,   0,   0
mbuf_jumbo_page:       4096, 243835,       0,     407,211236915,   0,   0
mbuf_jumbo_9k:         9216,  72247,       0,       0,       0,   0,   0
mbuf_jumbo_16k:       16384,  40639,       0,       0,       0,   0,   0
mbuf_ext_refcnt:          4,      0,       0,       0,       0,   0,   0
g_bio:                  248,      0,       0,   22515, 1779562,   0,   0
ttyinq:                 160,      0,     180,     420,    1335,   0,   0
ttyoutq:                256,      0,      95,     265,     694,   0,   0
ata_request:            328,      0,       0,       0,       0,   0,   0
ata_composite:          336,      0,       0,       0,       0,   0,   0
FPU_save_area:          832,      0,       0,       0,       0,   0,   0
VNODE:                  504,      0,  106126,    9010, 7920126,   0,   0
VNODEPOLL:              112,      0,       0,       0,       0,   0,   0
S VFS Cache:            108,      0,  113738,   12355, 8033026,   0,   0
STS VFS Cache:          148,      0,       0,       0,       0,   0,   0
L VFS Cache:            328,      0,     371,    1453,   76855,   0,   0
LTS VFS Cache:          368,      0,       0,       0,       0,   0,   0
NAMEI:                 1024,      0,       0,     228,18111254,   0,   0
DIRHASH:               1024,      0,    1689,     587,    2176,   0,   0
NCLNODE:                568,      0,       0,       0,       0,   0,   0
pipe:                   728,      0,       2,     218,   32421,   0,   0
Mountpoints:            824,      0,       5,       7,       5,   0,   0
ksiginfo:               112,      0,     234,     888,   57046,   0,   0
itimer:                 344,      0,       1,      21,       1,   0,   0
KNOTE:                  128,      0,       0,     464,   29454,   0,   0
socket:                 680, 252018,      53,     211, 2307472,   0,   0
unpcb:                  240, 252016,      16,     288,   21209,   0,   0
ipq:                     56,   8253,       0,       0,       0,   0,   0
udp_inpcb:              392, 252020,      12,     248, 1549180,   0,   0
udpcb:                   16, 252168,      12,    1164, 1549180,   0,   0
tcp_inpcb:              392, 252020,      22,    1398,  732279,   0,   0
tcpcb:                  976, 252016,      22,     218,  732279,   0,   0
tcptw:                   72,  27800,       0,    1600,  556987,   0,   0
syncache:               152,  15375,       0,     300,  608889,   0,   0
hostcache:              136,  15372,      24,     480,    7067,   0,   0
tcpreass:                40,  16464,       0,    1092,   32193,   0,   0
sackhole:                32,      0,       0,    1212,   46875,   0,   0
sctp_ep:               1384, 252014,       0,       0,       0,   0,   0
sctp_asoc:             2288,  40000,       0,       0,       0,   0,   0
sctp_laddr:              48,  80064,       0,     432,      13,   0,   0
sctp_raddr:             704,  80000,       0,       0,       0,   0,   0
sctp_chunk:             136, 400008,       0,       0,       0,   0,   0
sctp_readq:             104, 400032,       0,       0,       0,   0,   0
sctp_stream_msg_out:    104, 400032,       0,       0,       0,   0,   0
sctp_asconf:             40, 400008,       0,       0,       0,   0,   0
sctp_asconf_ack:         48, 400032,       0,       0,       0,   0,   0
ripcb:                  392, 252020,       1,     179,    4797,   0,   0
rtentry:                200,      0,   12910,     998,  251415,   0,   0
IPFW dynamic rule:      120,   4123,       0,       0,       0,   0,   0
selfd:                   56,      0,     847,    1547,13876516736,   0,   0
SWAPMETA:               288, 975351,       0,       0,       0,   0,   0
FFS inode:              168,      0,  106091,    9079, 7919902,   0,   0
FFS1 dinode:            128,      0,       0,       0,       0,   0,   0
FFS2 dinode:            256,      0,  106091,    9109, 7919902,   0,   0


vmstat -i
interrupt                          total       rate
irq16: ehci0                     1757925          1
irq23: ehci1                     2351521          2
cpu0:timer                    1316874271       1125
irq264: ix0:que 0            10901395664       9320
irq265: ix0:que 1            10870104432       9293
irq266: ix0:que 2            10928776890       9343
irq267: ix0:que 3            10843354914       9270
irq268: ix0:que 4            10954532894       9365
irq269: ix0:que 5            10886157749       9307
irq270: ix0:que 6            10858018401       9283
irq271: ix0:que 7            10897065402       9316
irq272: ix0:link                       1          0
irq283: hdac0                        120          0
irq285: ahci0                     270067          0
cpu1:timer                    1315487232       1124
cpu4:timer                    1315483595       1124
cpu7:timer                    1315494404       1124
cpu2:timer                    1315357335       1124
cpu5:timer                    1315591267       1124
cpu6:timer                    1315426872       1124
cpu3:timer                    1315595565       1124
Total                        97669096521      83502

dev.ix.0.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 2.5.15
dev.ix.0.%driver: ix
dev.ix.0.%location: slot=0 function=0
dev.ix.0.%pnpinfo: vendor=0x8086 device=0x10f1 subvendor=0x8086 subdevice=0xa21f class=0x020000
dev.ix.0.%parent: pci1
dev.ix.0.fc: 3
dev.ix.0.enable_aim: 1
dev.ix.0.advertise_speed: 0
dev.ix.0.dropped: 0
dev.ix.0.mbuf_defrag_failed: 0
dev.ix.0.watchdog_events: 0
dev.ix.0.link_irq: 1
dev.ix.0.queue0.interrupt_rate: 12500
dev.ix.0.queue0.irqs: 10908754891
dev.ix.0.queue0.txd_head: 4088
dev.ix.0.queue0.txd_tail: 4093
dev.ix.0.queue0.tso_tx: 4936581
dev.ix.0.queue0.no_tx_dma_setup: 0
dev.ix.0.queue0.no_desc_avail: 0
dev.ix.0.queue0.tx_packets: 65213449979
dev.ix.0.queue0.rxd_head: 144
dev.ix.0.queue0.rxd_tail: 122
dev.ix.0.queue0.rx_packets: 65767342216
dev.ix.0.queue0.rx_bytes: 60024791368091
dev.ix.0.queue0.rx_copies: 24702971979
dev.ix.0.queue0.lro_queued: 0
dev.ix.0.queue0.lro_flushed: 0
dev.ix.0.queue1.interrupt_rate: 13513
dev.ix.0.queue1.irqs: 10878255296
dev.ix.0.queue1.txd_head: 834
dev.ix.0.queue1.txd_tail: 844
dev.ix.0.queue1.tso_tx: 5573322
dev.ix.0.queue1.no_tx_dma_setup: 0
dev.ix.0.queue1.no_desc_avail: 0
dev.ix.0.queue1.tx_packets: 65391725358
dev.ix.0.queue1.rxd_head: 124
dev.ix.0.queue1.rxd_tail: 108
dev.ix.0.queue1.rx_packets: 65905791093
dev.ix.0.queue1.rx_bytes: 60176028179591
dev.ix.0.queue1.rx_copies: 24740257930
dev.ix.0.queue1.lro_queued: 0
dev.ix.0.queue1.lro_flushed: 0
dev.ix.0.queue2.interrupt_rate: 11904
dev.ix.0.queue2.irqs: 10936062193
dev.ix.0.queue2.txd_head: 388
dev.ix.0.queue2.txd_tail: 398
dev.ix.0.queue2.tso_tx: 4483383
dev.ix.0.queue2.no_tx_dma_setup: 0
dev.ix.0.queue2.no_desc_avail: 0
dev.ix.0.queue2.tx_packets: 65527287193
dev.ix.0.queue2.rxd_head: 2928
dev.ix.0.queue2.rxd_tail: 2927
dev.ix.0.queue2.rx_packets: 66011437936
dev.ix.0.queue2.rx_bytes: 60210616597773
dev.ix.0.queue2.rx_copies: 24767096260
dev.ix.0.queue2.lro_queued: 0
dev.ix.0.queue2.lro_flushed: 0
dev.ix.0.queue3.interrupt_rate: 33333
dev.ix.0.queue3.irqs: 10851022132
dev.ix.0.queue3.txd_head: 3436
dev.ix.0.queue3.txd_tail: 3440
dev.ix.0.queue3.tso_tx: 6281420
dev.ix.0.queue3.no_tx_dma_setup: 0
dev.ix.0.queue3.no_desc_avail: 0
dev.ix.0.queue3.tx_packets: 65636945475
dev.ix.0.queue3.rxd_head: 1275
dev.ix.0.queue3.rxd_tail: 1274
dev.ix.0.queue3.rx_packets: 66136663291
dev.ix.0.queue3.rx_bytes: 60517122814199
dev.ix.0.queue3.rx_copies: 24745894159
dev.ix.0.queue3.lro_queued: 0
dev.ix.0.queue3.lro_flushed: 0
dev.ix.0.queue4.interrupt_rate: 16666
dev.ix.0.queue4.irqs: 10961786451
dev.ix.0.queue4.txd_head: 3412
dev.ix.0.queue4.txd_tail: 3422
dev.ix.0.queue4.tso_tx: 5187070
dev.ix.0.queue4.no_tx_dma_setup: 0
dev.ix.0.queue4.no_desc_avail: 0
dev.ix.0.queue4.tx_packets: 65354067010
dev.ix.0.queue4.rxd_head: 3691
dev.ix.0.queue4.rxd_tail: 3677
dev.ix.0.queue4.rx_packets: 65843981932
dev.ix.0.queue4.rx_bytes: 59965431991173
dev.ix.0.queue4.rx_copies: 24840090326
dev.ix.0.queue4.lro_queued: 0
dev.ix.0.queue4.lro_flushed: 0
dev.ix.0.queue5.interrupt_rate: 21739
dev.ix.0.queue5.irqs: 10893390422
dev.ix.0.queue5.txd_head: 1244
dev.ix.0.queue5.txd_tail: 1253
dev.ix.0.queue5.tso_tx: 5071790
dev.ix.0.queue5.no_tx_dma_setup: 0
dev.ix.0.queue5.no_desc_avail: 0
dev.ix.0.queue5.tx_packets: 65220016129
dev.ix.0.queue5.rxd_head: 3062
dev.ix.0.queue5.rxd_tail: 3054
dev.ix.0.queue5.rx_packets: 65716272115
dev.ix.0.queue5.rx_bytes: 60061286471304
dev.ix.0.queue5.rx_copies: 24622017093
dev.ix.0.queue5.lro_queued: 0
dev.ix.0.queue5.lro_flushed: 0
dev.ix.0.queue6.interrupt_rate: 13513
dev.ix.0.queue6.irqs: 10864891897
dev.ix.0.queue6.txd_head: 3056
dev.ix.0.queue6.txd_tail: 3063
dev.ix.0.queue6.tso_tx: 6341332
dev.ix.0.queue6.no_tx_dma_setup: 0
dev.ix.0.queue6.no_desc_avail: 0
dev.ix.0.queue6.tx_packets: 65583792841
dev.ix.0.queue6.rxd_head: 3478
dev.ix.0.queue6.rxd_tail: 3468
dev.ix.0.queue6.rx_packets: 66071813523
dev.ix.0.queue6.rx_bytes: 60315963003056
dev.ix.0.queue6.rx_copies: 24836588292
dev.ix.0.queue6.lro_queued: 0
dev.ix.0.queue6.lro_flushed: 0
dev.ix.0.queue7.interrupt_rate: 19230
dev.ix.0.queue7.irqs: 10904344687
dev.ix.0.queue7.txd_head: 989
dev.ix.0.queue7.txd_tail: 996
dev.ix.0.queue7.tso_tx: 4758578
dev.ix.0.queue7.no_tx_dma_setup: 0
dev.ix.0.queue7.no_desc_avail: 0
dev.ix.0.queue7.tx_packets: 65315036127
dev.ix.0.queue7.rxd_head: 2039
dev.ix.0.queue7.rxd_tail: 2038
dev.ix.0.queue7.rx_packets: 65806882807
dev.ix.0.queue7.rx_bytes: 60063781129956
dev.ix.0.queue7.rx_copies: 24692336443
dev.ix.0.queue7.lro_queued: 0
dev.ix.0.queue7.lro_flushed: 0
dev.ix.0.mac_stats.crc_errs: 0
dev.ix.0.mac_stats.ill_errs: 0
dev.ix.0.mac_stats.byte_errs: 0
dev.ix.0.mac_stats.short_discards: 0
dev.ix.0.mac_stats.local_faults: 0
dev.ix.0.mac_stats.remote_faults: 0
dev.ix.0.mac_stats.rec_len_errs: 0
dev.ix.0.mac_stats.xon_txd: 809
dev.ix.0.mac_stats.xon_recvd: 0
dev.ix.0.mac_stats.xoff_txd: 1497
dev.ix.0.mac_stats.xoff_recvd: 0
dev.ix.0.mac_stats.total_octets_rcvd: 485552762769885
dev.ix.0.mac_stats.good_octets_rcvd: 485552762768397
dev.ix.0.mac_stats.total_pkts_rcvd: 573990445995
dev.ix.0.mac_stats.good_pkts_rcvd: 527259809954
dev.ix.0.mac_stats.mcast_pkts_rcvd: 182521
dev.ix.0.mac_stats.bcast_pkts_rcvd: 48418807
dev.ix.0.mac_stats.rx_frames_64: 5030824703
dev.ix.0.mac_stats.rx_frames_65_127: 184518397495
dev.ix.0.mac_stats.rx_frames_128_255: 12325641490
dev.ix.0.mac_stats.rx_frames_256_511: 6101808127
dev.ix.0.mac_stats.rx_frames_512_1023: 10995764079
dev.ix.0.mac_stats.rx_frames_1024_1522: 308287374077
dev.ix.0.mac_stats.recv_undersized: 0
dev.ix.0.mac_stats.recv_fragmented: 0
dev.ix.0.mac_stats.recv_oversized: 0
dev.ix.0.mac_stats.recv_jabberd: 0
dev.ix.0.mac_stats.management_pkts_rcvd: 0
dev.ix.0.mac_stats.management_pkts_drpd: 0
dev.ix.0.mac_stats.checksum_errs: 979703
dev.ix.0.mac_stats.good_octets_txd: 485430520980535
dev.ix.0.mac_stats.total_pkts_txd: 523519945770
dev.ix.0.mac_stats.good_pkts_txd: 523519943456
dev.ix.0.mac_stats.bcast_pkts_txd: 148861
dev.ix.0.mac_stats.mcast_pkts_txd: 3
dev.ix.0.mac_stats.management_pkts_txd: 0
dev.ix.0.mac_stats.tx_frames_64: 65034326828
dev.ix.0.mac_stats.tx_frames_65_127: 120599406486
dev.ix.0.mac_stats.tx_frames_128_255: 12207701312
dev.ix.0.mac_stats.tx_frames_256_511: 6090657280
dev.ix.0.mac_stats.tx_frames_512_1023: 11013388490
dev.ix.0.mac_stats.tx_frames_1024_1522: 308574463070


 

 

 

Сейчас пробовал изменять количество пул nat транслаций и просто равномернее трафик на них закидывать - помогает, но не очень сильно(увеличив пул с 256 на 512 адресов, нагрузка до kennel>0 увеличилась на 20-40%)

 

 

Меня настораживает когда появляются tot > 30000. Кстати, что такое frag_id=22606?

ipfw nat show
nat 193: icmp=0, udp=836, tcp=765, sctp=0, pptp=0, proto=0, frag_id=22606 frag_ptr=0 / tot=24207
nat 3: icmp=0, udp=1468, tcp=40706, sctp=0, pptp=0, proto=0, frag_id=0 frag_ptr=0 / =42174

Edited by doubtpoint

Share this post


Link to post
Share on other sites

Дак сколько у вас вообще нат инстансов? 512?

Не многовато-ли? Я такую штуку делал через ng_nat, ipfw штатно больше 16 вроде не умеет, да и не надо.

Как я понял оптимум там кратен числу ядер...

Share this post


Link to post
Share on other sites

не очень понял как ответить на вопрос сколько instance?

Выше приводил, что все заворачивается такой конструкцией.

01100 11732384 11570479639 nat tablearg ip from any to table(11) in
03000  9340445  5525103322 nat tablearg ip from table(10) to any out
Таблицы 10=пул реальных 512 ip, 11 наша внутренная подсетка порезанная на 512 частей.
Счетчики недавно сбросили.

 

Где используется пул 256 IP (Для тестов пробовали пул 512 (на одном из серверов). В пред. сообщении написал, что увеличение помогает, но не сильно.

Уменьшать, пока не очень планирую...

Share this post


Link to post
Share on other sites

Сделать в таблице 4 IP или разбить таблицу на несколько? Второй вариант думаю вообще бесполезно - я наоборот сейчас запихал туда побольше записей, что бы равномернее разгрузить трансляции.

 

Использовать меньше натов тоже сейчас не вижу смысла. Может, чуть позже подниму на тестовом сервере.

 

Забыл написать нат создается такими строчками

${ipfw} nat ${COUNTER} config ip ${NAT_pool_base}.${COUNTER} reset unreg_only deny_in log

Share this post


Link to post
Share on other sites

Таки советую увеличить txd/rxd для драйвера.

Но придётся перезагружаться если драйвер сетевухи собран с ядром статически.

Share this post


Link to post
Share on other sites

Просто есть мнение, что при таком кол-ве инстансов есть куча накладных расходов.

Поэтому я бы для пробы, чисто ради интереса, оставил бы nat 1,2,3,4. И посмотрел бы как растет kernel.

Share this post


Link to post
Share on other sites

Таки советую увеличить txd/rxd для драйвера.

Если это написать в loader.conf, то в 3 сообщении приводил:

hw.ixgbe.rxd=4096

hw.ixgbe.txd=4096

 

Про instance я подумаю как попробовать уменьшить, но мне кажется лучше не будет. Наверное буду пробовать pf nat или еще пару тазиков поставлю, только 10Г порты кончаются...

Share this post


Link to post
Share on other sites

Про instance я подумаю как попробовать уменьшить, но мне кажется лучше не будет. Наверное буду пробовать pf nat или еще пару тазиков поставлю, только 10Г порты кончаются...

 

Я использовал ng_nat. 512 инстансов влезли после расширения netgraph переменных. Кернел не рос, но la все-равно высокое было, да ng_queue нагружался.

Все решилось значительно проще - linux + iptables. Грустно но факт: там 512 реальников для 5к народу делается легко и непринужденно, без гаечного ключа и такой-то матери.

Share this post


Link to post
Share on other sites

Хм, пропустил. Посмотрите ещё:

hw.ixgbe.max_interrupt_rate

hw.ixgbe.rx_process_limit

hw.ixgbe.tx_process_limit

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