skyb Опубликовано 11 ноября, 2010 У меня ситуация- когда на на nas где стоит mpd появляется сессий > ~ 700-800 то у абонентов начинаются проблемы со скоростью. < 5кб. И не важно есть ли ограничение по скорости у этих абонентов или нет, плохо всем. В чем может быть проблема? какие конфиги/логи выложить? # ngctl list ngctl: send msg: No buffer space available нетфлоу генерируется самим MPD set netflow timeouts 1 1 может быть в этом проблема? как посмотреть в каком месте узко, что мешает правильно скорость выдавать абонентам? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 11 ноября, 2010 с трафиком всё нормально? процы себя как чуствуют? покажите топы Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 11 ноября, 2010 (изменено) 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 что значит с трафиком все нормально? Не понял Изменено 11 ноября, 2010 пользователем skyb Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 11 ноября, 2010 Буфера тюньте, уже много раз тема обсуждалась в инете и тут в частности, поиск в помощь! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 11 ноября, 2010 kern.ipc.maxsockbuf=2621440 net.graph.recvspace=1024000 net.graph.maxdgram=1024000 этого хватит? их через sysctl на лету увеличить можно? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hRUst Опубликовано 11 ноября, 2010 (изменено) kern.ipc.maxsockbuf=4097152 net.graph.recvspace=512000 net.graph.maxdgram=512000 хватает для 700 online, # ngctl list ngctl: send msg: No buffer space available говорит именно о нехватке этих буферов. На лету можно. Изменено 11 ноября, 2010 пользователем hRUst Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 11 ноября, 2010 Простите за глупый вопрос, но уверенным охото быть, то что написали про увеличении буферов это панацея? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 11 ноября, 2010 Для уверенности почитать по исходникам: grep -r "ENOBUFS" /usr/src/sys/netgraph через kldstat посмотреть какие ng модули загружены, те и смотреть по найденному. Вообще, mbuf - используется очень агрессивно для хранения пакетов или их частей, при обработке часто требуются доп мбуф-ы, если их нет - пакеты начинают отбрасываться в никуда. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 12 ноября, 2010 (изменено) 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 Изменено 12 ноября, 2010 пользователем skyb Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 12 ноября, 2010 Вы не хотите познавать. 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 12 ноября, 2010 # netstat -m 2164/5906/8070 mbufs in use (current/cache/total) 2161/4545/6706/65536 mbuf clusters in use (current/cache/total/max) так и так на максимуме .... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Kostyan Опубликовано 12 ноября, 2010 Проверьте правильность составления конфига и пристально посмотрите на отступы в начале строк. Из-за этого могут быть большие глюки у MPD. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 12 ноября, 2010 (изменено) Проверьте правильность составления конфига и пристально посмотрите на отступы в начале строк. Из-за этого могут быть большие глюки у MPD. м? mpd.conf.zip Изменено 12 ноября, 2010 пользователем skyb Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Lucky SB Опубликовано 12 ноября, 2010 ну а netstat -w1 что показывает в момент проблем ? может сетевые не справляются уже ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 12 ноября, 2010 Вы бы написали конфигурацию железа, и вывод uname -a Тоже может оказать влияние: /boot/loader.conf: kern.maxusers=512 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 12 ноября, 2010 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 13 ноября, 2010 простите, а у вас ядерной памяти хватит так увеличивать буферы? если сильно загнуть настройки можно и панику схлопотать, либо получите какие-нибудь странности в работе самой системы. пойдем от причины. пожалуйста, объясните зачем вам видеть все ноды, всё равно вам надо будет фильтровать список - не проще сразу выбрать нужную ноду и с ней работать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 13 ноября, 2010 Ядерной памяти :) Я незнаю....вот интересуюсь данным вопросом. Они создаются в MPD конечно лучше все завернуть в одну и по ней уже считать, подсказывали что можно это сделать через ipfw ...неособо представляю как, да и непонятно как правильно... Подскажите. недаром обратился же :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 13 ноября, 2010 Я незнаю....вот интересуюсь данным вопросом. Они создаются в MPD конечно лучше все завернуть в одну и по ней уже считать, подсказывали что можно это сделать через ipfw ...неособо представляю как, да и непонятно как правильно... Подскажите. недаром обратился же :)ничего не понял"лучше всё завернуть в одну и по ней считать" - это вы про что? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 13 ноября, 2010 вам надо будет фильтровать список - не проще сразу выбрать нужную ноду и с ней работать? Я про это не понял тогда, я про то что netflow завенуть все в одну ноду и с ней уже работать Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 13 ноября, 2010 вам надо будет фильтровать список - не проще сразу выбрать нужную ноду и с ней работать?Я про это не понял тогда, я про то что netflow завенуть все в одну ноду и с ней уже работать дык подключайте ng_netflow к физическому интерфейсу/влану сервера (man ng_netflow) - это будет весь трафик вместе со служебныма из конфига mpd подключение нод ng_netflow уберите. если чего непонятно, спрашивайте. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...