Перейти к содержимому
Калькуляторы

mpd5.5 + freebsd 8.2 stable

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

 

Поднял сабж. Два lagg (вход/выход), тюнинг, MPD5.5 собирает netflow. По vmstat -z вижу что увеличивается счетчик FAILURES на позиции NetFlow cache:

# vmstat -z
ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES
UMA Kegs:                 208,        0,       79,        6,       79,        0
UMA Zones:                960,        0,       79,        1,       79,        0
UMA Slabs:                568,        0,     4431,      357,     8119,        0
UMA RCntSlabs:            568,        0,    37339,        6,    37339,        0
UMA Hash:                 256,        0,        0,       15,        3,        0
16 Bucket:                152,        0,      189,       11,      189,        0
32 Bucket:                280,        0,      423,       11,      427,        1
64 Bucket:                536,        0,      736,        6,      753,       37
128 Bucket:              1048,        0,     1493,      199,   941336,      536
VM OBJECT:                216,        0,    46314,     3582,  6041003,        0
MAP:                      232,        0,        7,       25,        7,        0
KMAP ENTRY:               120,   277605,      259,     1477,   231731,        0
MAP ENTRY:                120,        0,      881,     9318, 13323324,        0
DP fakepg:                120,        0,        0,        0,        0,        0
SG fakepg:                120,        0,        0,        0,        0,        0
mt_zone:                 2056,        0,      207,       52,      207,        0
16:                        16,        0,     5954,     3958, 10948191,        0
32:                        32,        0,    10866,     4587, 1284742692,        0
64:                        64,        0,     6297,     5071,  6159039,        0
128:                      128,        0,    22193,     9040,  2963360,        0
256:                      256,        0,    58051,     8054, 2586309256,        0
512:                      512,        0,     4312,     3395,  7714622,        0
1024:                    1024,        0,      307,     1105,   247887,        0
2048:                    2048,        0,      599,     1101,     2989,        0
4096:                    4096,        0,      227,     1388,   402296,        0
Files:                     80,        0,      109,     2366,  5055083,        0
TURNSTILE:                136,        0,     3277,      323,     3277,        0
umtx pi:                   96,        0,        0,        0,        0,        0
MAC labels:                40,        0,        0,        0,        0,        0
PROC:                    1136,        0,       45,     1230,   253630,        0
THREAD:                  1120,        0,     1506,     1770,   144196,        0
SLEEPQUEUE:                80,        0,     3277,      522,     3277,        0
VMSPACE:                  392,        0,       28,     1372,   289093,        0
cpuset:                    72,        0,       57,      343,      196,        0
audit_record:             952,        0,        0,        0,        0,        0
mbuf_packet:              256,        0,    66946,     7422, 2668444338,        0
mbuf:                     256,        0,        4,     4093, 3165129665,        0
mbuf_cluster:            2048,   400000,    74368,        6,    74368,        0
mbuf_jumbo_page:         4096,    12800,        0,      152,      166,        0
mbuf_jumbo_9k:           9216,     6400,        0,        0,        0,        0
mbuf_jumbo_16k:         16384,     3200,        0,        0,        0,        0
mbuf_ext_refcnt:            4,        0,        0,        0,        0,        0
NetGraph items:            72,    65540,        0,     2958,  2856406,        0
NetGraph data items:       72,    65540,        1,     2232, 2645441708,        0
ttyinq:                   160,        0,      135,      465,      765,        0
ttyoutq:                  256,        0,       72,      243,      408,        0
g_bio:                    232,        0,        0,     8464,   405343,        0
ata_request:              320,        0,        0,     2868,   101346,        0
ata_composite:            336,        0,        0,        0,        0,        0
VNODE:                    472,        0,    95798,     1482,   323900,        0
VNODEPOLL:                112,        0,        1,       65,        1,        0
S VFS Cache:              108,        0,    73923,    28443,   311061,        0
L VFS Cache:              328,        0,    22869,      219,    25611,        0
NAMEI:                   1024,        0,        0,      668,  6429193,        0
DIRHASH:                 1024,        0,     1930,      374,     2260,        0
pipe:                     728,        0,        5,      965,   133616,        0
ksiginfo:                 112,        0,     1265,     1738,     6148,        0
itimer:                   344,        0,        0,        0,        0,        0
KNOTE:                    128,        0,        0,      406,     1873,        0
socket:                   680,    25602,       43,      833,  1911099,        0
ipq:                       56,    12537,        0,        0,        0,        0
udp_inpcb:                336,    25608,        9,      816,  1780557,        0
udpcb:                     16,    25704,        9,     3351,  1780557,        0
tcp_inpcb:                336,    25608,        8,      146,       25,        0
tcpcb:                    944,    25600,        8,       88,       25,        0
tcptw:                     72,     5150,        0,      200,        5,        0
syncache:                 144,    15366,        0,      182,       11,        0
hostcache:                136,    15372,        0,      196,        9,        0
tcpreass:                  40,    25032,        0,        0,        0,        0
sackhole:                  32,        0,        0,      202,        1,        0
ripcb:                    336,    25608,        1,      714,    53945,        0
unpcb:                    240,    25600,       15,      625,    76555,        0
rtentry:                  200,        0,     4106,     2316,    26342,        0
IPFW dynamic rule:        120,        0,        0,        0,        0,        0
selfd:                     56,        0,     2049,     2865, 115271476,        0
SWAPMETA:                 288,   116519,        0,        0,        0,        0
Mountpoints:              752,        0,        5,       20,        5,        0
FFS inode:                168,        0,    95764,     1608,   323823,        0
FFS1 dinode:              128,        0,        0,        0,        0,        0
FFS2 dinode:              256,        0,    95764,     1601,   323823,        0
NetFlow cache:             80,   262160,   191175,    70985, 29063801,   939849

 

В колонке LIMITS находится значение 262160, при большой нагрузке (800 сессий) его не хватает и растет FAILURES. Подскажите, где можно увеличить netflow кэш? Исходники проясняют ситуацию смутно, так как не силен в Си и в архитектуре BSD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

grep -r "NetFlow cache" /usr/src/sys/

/usr/src/sys/netgraph/netflow/netflow.c: priv->zone = uma_zcreate("NetFlow cache", sizeof(struct flow_entry),

 

открываем, смотрим что дальше:...

 

uma_ctor_flow, uma_dtor_flow, NULL, NULL, UMA_ALIGN_CACHE, 0);

uma_zone_set_max(priv->zone, CACHESIZE);

 

 

 

 

grep -r "CACHESIZE" /usr/src/sys/netgraph/netflow/

/usr/src/sys/netgraph/netflow/netflow.c: if (atomic_load_acq_32(&priv->info.nfinfo_used) >= CACHESIZE)

/usr/src/sys/netgraph/netflow/netflow.c: uma_zone_set_max(priv->zone, CACHESIZE);

/usr/src/sys/netgraph/netflow/ng_netflow.h:#define CACHESIZE (65536*4)

/usr/src/sys/netgraph/netflow/ng_netflow.h:#define CACHELOWAT (CACHESIZE * 3/4)

/usr/src/sys/netgraph/netflow/ng_netflow.h:#define CACHEHIGHWAT (CACHESIZE * 9/10)

 

 

 

Итого:

 

в файле: /usr/src/sys/netgraph/netflow/ng_netflow.h:

 

меняете: #define CACHESIZE (65536*4), пересобираете ноду или всё ядро, если оно вкомпилено в него.

 

Ставите на нос зарубку: после обновления системы/исходникв/ядра - править значение.

 

 

 

 

PS: можете поправить сами чтобы оно из sysctl бралось %)

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

меняете: #define CACHESIZE (65536*4), пересобираете ноду или всё ядро, если оно вкомпилено в него.

 

Ставите на нос зарубку: после обновления системы/исходникв/ядра - править значение.

 

 

 

 

PS: можете поправить сами чтобы оно из sysctl бралось %)

Cпасибо за анализ! =) Попробую поменять и собрать.

 

тюнинг можете показать?

В личке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

grep -r "NetFlow cache" /usr/src/sys/

/usr/src/sys/netgraph/netflow/netflow.c: priv->zone = uma_zcreate("NetFlow cache", sizeof(struct flow_entry),

 

открываем, смотрим что дальше:...

 

uma_ctor_flow, uma_dtor_flow, NULL, NULL, UMA_ALIGN_CACHE, 0);

uma_zone_set_max(priv->zone, CACHESIZE);

 

 

 

 

grep -r "CACHESIZE" /usr/src/sys/netgraph/netflow/

/usr/src/sys/netgraph/netflow/netflow.c: if (atomic_load_acq_32(&priv->info.nfinfo_used) >= CACHESIZE)

/usr/src/sys/netgraph/netflow/netflow.c: uma_zone_set_max(priv->zone, CACHESIZE);

/usr/src/sys/netgraph/netflow/ng_netflow.h:#define CACHESIZE (65536*4)

/usr/src/sys/netgraph/netflow/ng_netflow.h:#define CACHELOWAT (CACHESIZE * 3/4)

/usr/src/sys/netgraph/netflow/ng_netflow.h:#define CACHEHIGHWAT (CACHESIZE * 9/10)

 

 

 

Итого:

 

в файле: /usr/src/sys/netgraph/netflow/ng_netflow.h:

 

меняете: #define CACHESIZE (65536*4), пересобираете ноду или всё ядро, если оно вкомпилено в него.

 

Ставите на нос зарубку: после обновления системы/исходникв/ядра - править значение.

 

 

 

 

PS: можете поправить сами чтобы оно из sysctl бралось %)

 

Иван, спасибо, помогло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.