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

Странности в MPD Большие странности

У меня ситуация- когда на на nas где стоит mpd появляется сессий > ~ 700-800 то у абонентов начинаются проблемы со скоростью. < 5кб. И не важно есть ли ограничение по скорости у этих абонентов или нет, плохо всем. В чем может быть проблема? какие конфиги/логи выложить?

# ngctl list
ngctl: send msg: No buffer space available

нетфлоу генерируется самим MPD

set netflow timeouts 1 1

может быть в этом проблема? как посмотреть в каком месте узко, что мешает правильно скорость выдавать абонентам?

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


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

с трафиком всё нормально? процы себя как чуствуют? покажите топы

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


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

23-32 % загрузки при 2000 сессиях. Проц i7

а это

CPU 0:  0.0% user,  0.0% nice,  0.0% system, 10.2% interrupt, 89.8% idle
CPU 1:  0.0% user,  0.0% nice,  0.4% system,  0.0% interrupt, 99.6% idle
CPU 2:  0.0% user,  0.0% nice, 19.2% system,  0.0% interrupt, 80.8% idle
CPU 3:  0.0% user,  0.0% nice,  0.8% system,  0.0% interrupt, 99.2% idle
CPU 4:  0.0% user,  0.0% nice,  0.0% system,  0.4% interrupt, 99.6% idle
CPU 5:  0.0% user,  0.0% nice,  0.0% system, 15.8% interrupt, 84.2% idle
CPU 6:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 7:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle

при

# ifconfig | grep ^ng | wc -l
     420

что значит с трафиком все нормально? Не понял

Изменено пользователем skyb

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


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

Буфера тюньте, уже много раз тема обсуждалась в инете и тут в частности, поиск в помощь!

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


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

kern.ipc.maxsockbuf=2621440
net.graph.recvspace=1024000
net.graph.maxdgram=1024000

этого хватит? их через sysctl на лету увеличить можно?

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


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

kern.ipc.maxsockbuf=4097152
net.graph.recvspace=512000
net.graph.maxdgram=512000

 

хватает для 700 online,

 

# ngctl list
ngctl: send msg: No buffer space available

 

говорит именно о нехватке этих буферов. На лету можно.

Изменено пользователем hRUst

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


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

Простите за глупый вопрос, но уверенным охото быть, то что написали про увеличении буферов это панацея?

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


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

Для уверенности почитать по исходникам:

 

grep -r "ENOBUFS" /usr/src/sys/netgraph

 

через kldstat посмотреть какие ng модули загружены, те и смотреть по найденному.

 

Вообще, mbuf - используется очень агрессивно для хранения пакетов или их частей, при обработке часто требуются доп мбуф-ы, если их нет - пакеты начинают отбрасываться в никуда.

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


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

kern.ipc.maxsockbuf=4097152
net.graph.recvspace=512000
net.graph.maxdgram=512000

 

хватает для 700 online,

 

# ngctl list
ngctl: send msg: No buffer space available

 

говорит именно о нехватке этих буферов. На лету можно.

# sysctl net.graph.recvspace=1024000
net.graph.recvspace: 20480 -> 1024000
pppoe# sysctl net.graph.maxdgram=1024000
net.graph.maxdgram: 20480 -> 1024000
pppoe# ngctl list
ngctl: can't create node: No buffer space available
# sysctl -a | grep graph
net.graph.msg_version: 8
net.graph.abi_version: 11
net.graph.maxdata: 512
net.graph.maxalloc: 4096
net.graph.threads: 8
net.graph.control.proto: 2
net.graph.data.proto: 1
net.graph.family: 32
net.graph.recvspace: 1024000
net.graph.maxdgram: 1024000

что я делаю неправильно?

# ifconfig | grep ^ng | wc -l
     311

Изменено пользователем skyb

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


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

Вы не хотите познавать.

 

google: mbuf увеличить

выдаёт

http://www.opennet.ru/base/net/tune_freebsd.txt.html

 

Состояние задействованных mbuf кластеров можно посмотреть командой:

 

>netstat -m

4/1421/1425 mbufs in use (current/cache/total)

0/614/614/25600 mbuf clusters in use (current/cache/total/max)

 

 

Увеличение числа mbuf кластеров во FreeBSD 6.2 можно произвести в любой момент

через параметр kern.ipc.nmbclusters:

 

sysctl kern.ipc.nmbclusters=65536

 

 

Для более ранних версий FreeBSD число mbuf кластеров можно было установить только

на этапе загрузки:

 

/boot/loader.conf:

kern.ipc.nmbclusters=65536

 

25000 mbuf clusters = 55M

32768 mbuf clusters = 74M

65536 mbuf clusters = 144M

 

 

25000 mbuf кластеров занимают примерно 50Мб памяти, 32000 - 74 Мб, 65000 -

144Мб (рост по степени 2). 65000 - пограничное значение, превышать которое не

рекомендуется, без предварительного расширения адресного пространства

доступного ядру.

Вам нужны первые два раздела из этого доклада.

 

и ещё можно почитать

http://www.freebsd.org/doc/ru_RU.KOI8-R/bo...tml#NMBCLUSTERS

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


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

# netstat -m
2164/5906/8070 mbufs in use (current/cache/total)
2161/4545/6706/65536 mbuf clusters in use (current/cache/total/max)

 

так и так на максимуме ....

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


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

Проверьте правильность составления конфига и пристально посмотрите на отступы в начале строк. Из-за этого могут быть большие глюки у MPD.

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


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

Проверьте правильность составления конфига и пристально посмотрите на отступы в начале строк. Из-за этого могут быть большие глюки у MPD.

м?

mpd.conf.zip

Изменено пользователем skyb

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


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

ну а netstat -w1 что показывает в момент проблем ?

может сетевые не справляются уже ?

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


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

Вы бы написали конфигурацию железа, и вывод uname -a

 

Тоже может оказать влияние:

/boot/loader.conf:

kern.maxusers=512

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


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

4 гига оператывы, i7

uname -a
7.3-RELEASE-p3 FreeBSD 7.3-RELEASE-p3 #0: Tue Oct 12 13:14:37 VLAST 2010     :/usr/obj/usr/src/sys/GENERIC  i386

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


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

простите, а у вас ядерной памяти хватит так увеличивать буферы?

 

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

 

пойдем от причины. пожалуйста, объясните зачем вам видеть все ноды,

всё равно вам надо будет фильтровать список - не проще сразу выбрать нужную ноду и с ней работать?

 

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


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

Ядерной памяти :)

 

Я незнаю....вот интересуюсь данным вопросом. Они создаются в MPD конечно лучше все завернуть в одну и по ней уже считать, подсказывали что можно это сделать через ipfw ...неособо представляю как, да и непонятно как правильно... Подскажите. недаром обратился же :)

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


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

Я незнаю....вот интересуюсь данным вопросом. Они создаются в MPD конечно лучше все завернуть в одну и по ней уже считать, подсказывали что можно это сделать через ipfw ...неособо представляю как, да и непонятно как правильно... Подскажите. недаром обратился же :)
ничего не понял

"лучше всё завернуть в одну и по ней считать" - это вы про что?

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


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

вам надо будет фильтровать список - не проще сразу выбрать нужную ноду и с ней работать?

Я про это не понял тогда, я про то что netflow завенуть все в одну ноду и с ней уже работать

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


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

вам надо будет фильтровать список - не проще сразу выбрать нужную ноду и с ней работать?
Я про это не понял тогда, я про то что netflow завенуть все в одну ноду и с ней уже работать

дык подключайте ng_netflow к физическому интерфейсу/влану сервера (man ng_netflow) - это будет весь трафик вместе со служебным

а из конфига mpd подключение нод ng_netflow уберите.

 

если чего непонятно, спрашивайте.

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


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

Join the conversation

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

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

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

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

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

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

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