pod Опубликовано 9 января, 2016 · Жалоба Здравствуйте! Есть бордер (ipfw NAT, dummynet шейпер) вот такого вида i5-4460 CPU @ 3.20GHz 4Gb RAM Freebsd 8.2 Intel(R) PRO/1000 Network Connection version - 2.2.3 - igb Применен стандартный тюнинг loader.conf sysctl.conf для igb На нем подсети для абонентов натятся в пул из 48 белых ip. Большую часть времени по нагрузке все нормально, но иногда, в часы пик, вылазит вот такое 0 root -68 0 0K 240K - 2 72.2H 36.23% {igb1 que} 0 root -68 0 0K 240K - 1 73.2H 35.35% {igb1 que} 0 root -68 0 0K 240K - 3 71.6H 33.59% {igb1 que} 0 root -68 0 0K 240K - 0 82.0H 29.79% {igb1 que} В целом по системе last pid: 74549; load averages: 4.03, 4.21, 4.21 up 129+13:25:47 20:13:49 148 processes: 16 running, 113 sleeping, 19 waiting CPU 0: 1.9% user, 0.0% nice, 46.3% system, 42.6% interrupt, 9.3% idle CPU 1: 0.0% user, 0.0% nice, 35.2% system, 55.6% interrupt, 9.3% idle CPU 2: 0.0% user, 0.0% nice, 44.4% system, 53.7% interrupt, 1.9% idle CPU 3: 0.0% user, 0.0% nice, 31.5% system, 61.1% interrupt, 7.4% idle Mem: 200M Active, 1207M Inact, 652M Wired, 12K Cache, 405M Buf, 1759M Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root -68 - 0K 448K CPU2 2 609.6H 55.86% {irq258: igb0:que} 12 root -68 - 0K 448K CPU3 3 615.3H 51.17% {irq259: igb0:que} 12 root -68 - 0K 448K CPU0 0 384.1H 50.24% {irq256: igb0:que} 12 root -68 - 0K 448K WAIT 1 604.1H 46.44% {irq257: igb0:que} 0 root -68 0 0K 240K - 2 72.2H 36.23% {igb1 que} 0 root -68 0 0K 240K - 1 73.2H 35.35% {igb1 que} 0 root -68 0 0K 240K - 3 71.6H 33.59% {igb1 que} 0 root -68 0 0K 240K - 0 82.0H 29.79% {igb1 que} 0 root -68 0 0K 240K - 0 1496.6 14.60% {dummynet} 0 root -68 0 0K 240K - 1 42.5H 10.64% {igb0 que} 11 root 171 ki31 0K 64K RUN 1 2284.2 8.40% {idle: cpu1} 11 root 171 ki31 0K 64K RUN 3 2292.1 6.69% {idle: cpu3} 11 root 171 ki31 0K 64K RUN 2 2286.5 5.18% {idle: cpu2} 11 root 171 ki31 0K 64K RUN 0 1074.8 3.37% {idle: cpu0} 0 root -68 0 0K 240K RUN 1 23.6H 2.54% {igb0 que} 12 root -68 - 0K 448K WAIT 1 76.6H 2.39% {irq262: igb1:que} 12 root -68 - 0K 448K RUN 0 78.1H 2.34% {irq261: igb1:que} 0 root -68 0 0K 240K - 3 25.0H 2.05% {igb0 que} 12 root -68 - 0K 448K RUN 3 77.1H 2.00% {irq264: igb1:que} 12 root -68 - 0K 448K RUN 2 77.5H 1.90% {irq263: igb1:que} 0 root -68 0 0K 240K - 2 24.1H 0.93% {igb0 que} 13 root 44 - 0K 32K sleep 1 66:39 0.68% {ng_queue0} 12 root -32 - 0K 448K RUN 0 29.1H 0.54% {swi4: clock} igb1 это сетевая, которая смотрит внутрь локальной сети, и обычно процессы igb1 que не нагружают проц больше чем на доли % Трафик на сетевой в это время netstat -w1 -h -I igb1 input (igb1) output packets errs idrops bytes packets errs bytes colls 46K 0 0 15M 64K 0 78M 0 38K 0 0 12M 55K 0 68M 0 41K 0 0 13M 59K 0 73M 0 На что обратить внимание, что может так загружать эту сетевую? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 10 января, 2016 · Жалоба Обновить систему. И начать разбираться, откуда от абонентов прилетает мультикаст. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pod Опубликовано 10 января, 2016 · Жалоба Обновить систему. И начать разбираться, откуда от абонентов прилетает мультикаст. Обновить пора, согласен. Но ведь такая аномалия в нагрузке появляется не всегда, значит дело не в версии ОС. Значимого количества мультикаста от абонов нет, один пакет в пару секунд не в счет, вот статистика на порту из сети на igb1 в сторону этого сервера Output packets statistics: 14147591214 output packets, 5726773091420 bytes, 0 underruns 1262240916 unicast packets, 146773 multicast packets, 301637 broadcast packets Что вообще обрабатывается в процессах {igb1 que}? Какой трафик попадает туда а не в {irqххх: igb1:que}? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 10 января, 2016 · Жалоба Обновить пора, согласен. Но ведь такая аномалия в нагрузке появляется не всегда, значит дело не в версии ОС. Неправильное следствие. Некоторые ОС более спокойнее реагируют на мусор. Значимого количества мультикаста от абонов нет, один пакет в пару секунд не в счет, вот статистика на порту из сети на igb1 в сторону этого сервера Начинайте снимать статистику пакетов с коммутатора. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pod Опубликовано 11 января, 2016 · Жалоба Начинайте снимать статистику пакетов с коммутатора. приведеные данные именно с порта коммутатора, в который включена igb1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hsvt Опубликовано 11 января, 2016 · Жалоба http://forum.nag.ru/forum/index.php?showtopic=63798 http://forum.nag.ru/forum/index.php?showtopic=84027 http://forum.nag.ru/forum/index.php?showtopic=82322 http://forum.nag.ru/forum/index.php?showtopic=89137&st=20 http://forum.nag.ru/forum/index.php?showtopic=97207 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pod Опубликовано 11 января, 2016 · Жалоба Со ссылками ознакомлен. По ним, и не только, ответа на основной вопрос - Что вообще обрабатывается в процессах {igb1 que}? Какой трафик попадает туда а не в {irqххх: igb1:que}? нету. Вообще в найденных темах ни у кого нагрузки такого вида не вылазит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 11 января, 2016 · Жалоба Со ссылками ознакомлен. По ним, и не только, ответа на основной вопрос - Что вообще обрабатывается в процессах {igb1 que}? Какой трафик попадает туда а не в {irqххх: igb1:que}? нету. При включённом фастфорвадинге там обрабатывается всё что приходит с этого интерфейса, там и правила шейпера и фаерволы и нетфлоу и хз что у тебя ещё. Если очень хочется смотреть что грузит проц: один раз: kldload hwpmc и периодически во время загрузки: pmcstat -TS instructions -w1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
rdc Опубликовано 14 января, 2016 · Жалоба ещё полезна небольшая доработочка ipfw nat (точнее, libalias) для лимитирования количества трансляций: /usr/src/sys/netinet/libalias/alias_db.c AddLink() добавляем switch (link_type) { case LINK_ICMP: if(la->icmpLinkCount > 100) return (NULL); break; case LINK_UDP: if(la->udpLinkCount > 2000) return (NULL); break; case LINK_TCP: if(la->tcpLinkCount > 2000) return (NULL); break; default: if(la->protoLinkCount > 100) return (NULL); break; } и ещё новость: https://wiki.freebsd.org/ProjectsRoutingProposal 12MPPS on 16-core box which is 6-10 times better than stock HEAD Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pod Опубликовано 29 января, 2016 · Жалоба hwpmc использовать не получилось, в 8.2 он был слишком старый и не работал с установленным процом. Обновился до 10.2, нагружающие проц {igb1 que} из топа пропали, хотя максимальный LA так и остался выше 4. Виновником оказался dummynet, который в top хоть и показывал 0% нагрузки, но по факту нагружал 30% system на одном из ядер. Решением оказалась установка net.inet.ip.dummynet.expire=0 Это снизило нагрузку system, которую создавал dummynet, в 2-2.5 раз и LA в пике теперь до 3.75. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 30 января, 2016 · Жалоба А покажите все-таки вывод в ЧНН: sysctl net.inet.ip.dummynet Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...