Ivan_83 Posted December 28, 2014 Author Posted December 28, 2014 Просто взять и собрать - нет. Нужно менять механизм обмена сообщениями между потоками - забирать из линуксовой части пайповый вариант. Сделать можно но смысла поддерживать то что было 5 лет назад я не вижу. Если очень надо могу в НГ праздники попробовать сделать авто выбор для фри при сборке, чтобы и на старье собиралось. MAP_ALIGNED_SUPER - сделаю чтобы не мешалось сборке в случае отсутствия. Вставить ник Quote
t0ly Posted December 29, 2014 Posted December 29, 2014 Просто взять и собрать - нет. Нужно менять механизм обмена сообщениями между потоками - забирать из линуксовой части пайповый вариант. Сделать можно но смысла поддерживать то что было 5 лет назад я не вижу. Если очень надо могу в НГ праздники попробовать сделать авто выбор для фри при сборке, чтобы и на старье собиралось. MAP_ALIGNED_SUPER - сделаю чтобы не мешалось сборке в случае отсутствия. было бы супер. Вставить ник Quote
atxnsk Posted September 29, 2015 Posted September 29, 2015 (edited) Иван приветсвую. Готов взять на себя полномасштабное тестирование под wive-ng под snr-cpe на чипах rt3052 выложите плиз сборку msd_lite под нее. или. в двух словах как собрать, самостоятельное курение инета не помогло, под mips не собирал софт ни разу Edited September 29, 2015 by atxnsk Вставить ник Quote
Ivan_83 Posted September 29, 2015 Author Posted September 29, 2015 И я не собирал ничего линуксового под отличные от х86 архитектуры. Там должен быть тулчейн под конкретную архитектуру, а дальше оно собирается примерно как обычно только компилятором из тулчейна а не системным. Вставить ник Quote
atxnsk Posted September 29, 2015 Posted September 29, 2015 Зараза в том, что в тулчайне wive-ng не нашел компилятора (как например в тулчайне dd-wrt). Автор на контакт не выходит :( Сегодня еще раз буду копать его тулчайн, может пойму что к чему Вставить ник Quote
atxnsk Posted December 13, 2015 Posted December 13, 2015 Up! Неужели никому не интересно эту няшку на домашнем роутере запустить? Вставить ник Quote
Ivan_83 Posted December 13, 2015 Author Posted December 13, 2015 Для одного клиента там мизерный профит, а может даже наоборот мизерная просадка будет. Для двух даже на разных каналах скорее всего заметный профит, ибо переключать процессы сильно накладнее чем ещё два дескриптора в евентпуле обработать... А из тех кто может сам собрать я тут знаю только Нитро и ядрокота, им обоим оно не сильно то и надо. Вставить ник Quote
bomberman Posted December 14, 2015 Posted December 14, 2015 (edited) Собрался без проблем на: Linux 3.4.4-2 i686 (Arch Linux) Linux 4.0.5-gentoo #8 SMP x86_64 (gentoo) Под нагрузкой пока не довелось проверить. Vlc 2.0.1 (linux) подцепился отлично. Возможно было бы удобно получить список кто смотрит какой канал в данный момент. Т.е. session_time ip:port:user_agent | группа:port:interface Можно всё и из "hubstat" выдернуть, не спорю. Разве что для упрощения. Автору спасибо за разработку. Edited December 14, 2015 by bomberman Вставить ник Quote
Ivan_83 Posted December 14, 2015 Author Posted December 14, 2015 Под х86 линухом и я регулярно собираю, это не новость что там работает :) Для кастомизации списка нужно поправить всего 3 файла: 1. msd_lite.c чтобы добавить новую комманду в урл 2. msd_lite_stat_text.h чтобы объявить новую функцию для обработки команды 3. msd_lite_stat_text.c саму функцию. Фактически смотреть на hubstat и делать что хочется. Вставить ник Quote
MESB Posted March 3, 2016 Posted March 3, 2016 Взялись поиграться. Берём мультикаст и отдаём приставке в юникасте. Исходное: centos6 msdlite 1.08 mag 245 Плейлист с каналами скормлен с флешки. На udpxy заметно подтормаживание, приходится секунд 5 ставить буфер в настройках. Но переключение каналов при этом становится на редкость задумчивым. На msd lite пока без тюнинга sysctl лучше, но буфер всёравно нужен. Мультикастовые приставка щёлкает примерно секунды 2, тут же от 5 до 10. В сторону чего стоит посмотреть для ускорения переключения каналов именно? Вставить ник Quote
Ivan_83 Posted March 3, 2016 Author Posted March 3, 2016 wget .... -o /dev/null смысл в том, чтобы на канале всегда кто то был, инача лайт версия прекращает его принимать и убивает кольцевой буфер, соответственно потом приставке приходится ждать пока накапает. Вставить ник Quote
MESB Posted March 3, 2016 Posted March 3, 2016 Гм, а нельзя некоторые каналы заставить например постоянно тянуть или же если один раз обращались то продолжать тянуть некоторое время? Распространяется ли этот буфер в случае обращения на динамические ссылки udpxy стиля? И с какого момента рекомендуется применение тюнинга? Сейчас это маленькая вмка на esxi с гигом памяти и одним cpu, загрузка с виду меньше чем на udpxy. Скажем у тогоже icecast в опциях relay есть опция on-demand, когда станцию он тянет постоянно, илиже только если на релей к нему обратились. Вставить ник Quote
Ivan_83 Posted March 3, 2016 Author Posted March 3, 2016 Можно, либо вот так подвешивая клиента на каждый канал, либо правкой исходника либо переходом на msd. У msd_lite только динамические каналы и есть, с синтаксисом как у udpxy + немного доп параметров в урл. С момента установки ОС :) Хотя бы буфера сокета в линухе увеличить, и загрузить htcp модуль. Вставить ник Quote
MESB Posted March 10, 2016 Posted March 10, 2016 Ivan_83 А есть какая-то табличка сравнительная с тем-же udpxy например? Или как у тогоже мидлваре сталкера, типа на такое то количество клиентов например необходимо такое-то железо или такието ресурсы? И возможно в личку, я полистал ценник обычной msd, в рамках этого ценника на какого-то уровня помощь в установке/настройках/анализе производительности при внедрении можно рассчитывать? Вставить ник Quote
Ivan_83 Posted March 10, 2016 Author Posted March 10, 2016 Таблички нет, потребление ресурсов очень скромное, настолько что на проц можно особо не смотреть, только на сетевуху чтобы ширины канала хватало и на объём памяти, из расчёта по 40 метров на канал + 1, лучше 2 гб под систему и её нужды. http://www.netlab.linkpc.net/wiki/ru:software:msd:price Если доступ по ссш будет и описание откуда брать мультикаст и как/куда отдавать то сам могу настроить. Вставить ник Quote
MESB Posted March 10, 2016 Posted March 10, 2016 Таблички нет, потребление ресурсов очень скромное, настолько что на проц можно особо не смотреть, только на сетевуху чтобы ширины канала хватало и на объём памяти, из расчёта по 40 метров на канал + 1, лучше 2 гб под систему и её нужды. Так, я тогда не совсем понял, если присмотреться к лицензионной политике, получается что на каком-то этапе вы предполагаете что серверов может быть явно больше одного. Это обусловлено только архитектурой сети и фантазиями клиентов или таки есть какое-то аппаратное ограничение что нельзя будет скажем тысячу юзеров одним демоном обслуживать? Вставить ник Quote
Ivan_83 Posted March 10, 2016 Author Posted March 10, 2016 Сколько ни старайся, а количество 10Г адаптеров которое можно поставить в один тазик - величина конечная. (я слышал про железки с 12, на 120гб в сумме, но то было не для иптв) Кроме того всякие резервы и прочие фантазии в области архитектуры. В самом демоне нет никаких ограничений по клиентам/полосе, он ограничен только железом/лимитами ОС. Вставить ник Quote
nemo_lynx Posted May 31, 2016 Posted May 31, 2016 Приветствую! Заинтересовался. Скачал и поставил на FB 10.2. Запустил. Тыкнул влс, получил в логе такое вот: [2016-05-31 14:56:31]: Multi stream daemon lite 1.08: started [2016-05-31 14:56:31]: Build: May 31 2016 14:09:16, Release [2016-05-31 14:56:31]: CPU count: 12 [2016-05-31 14:56:31]: descriptor table size: 707013 (max files) [2016-05-31 14:56:31]: hostname: * [2016-05-31 14:56:31]: Thread 1 started... [2016-05-31 14:56:31]: Bind thread 1 to CPU 1 [2016-05-31 14:56:31] http_srv_acc_add, line 502: io_net_is_tcp_cc_avail() fail, this is not fatal. error 22: Invalid argument [2016-05-31 14:56:31]: bind 192.168.0.1:4242, backlog = 2048, cc_name = htcp [2016-05-31 14:56:31]: Thread 0 started... [2016-05-31 14:56:31]: Bind thread 0 to CPU 0 [2016-05-31 14:56:44]: /udp/239.0.0.86:1234@vlan200: Created. (fd: 6) [2016-05-31 14:56:44]: /udp/239.0.0.86:1234@vlan200 - 93.81.235.215:50615: attached, cli_count = 1 [2016-05-31 14:56:44] str_src_r_buf_alloc, line 985: ... error 12: Cannot allocate memory [2016-05-31 14:56:44] str_src_recv_mc_cb, line 873: on receive error 12: Cannot allocate memory [2016-05-31 14:56:44]: /udp/239.0.0.86:1234@vlan200 - 93.81.235.215:50615: deattached, cli_count = 0 [2016-05-31 14:56:44]: /udp/239.0.0.86:1234@vlan200: Destroyed. Что ей мешает память выделить? Вставить ник Quote
Ivan_83 Posted May 31, 2016 Author Posted May 31, 2016 Попробуйте sysctl vm.max_wired увеличить. А оперативной памяти хватает? Вставить ник Quote
nemo_lynx Posted June 1, 2016 Posted June 1, 2016 (edited) Попробуйте sysctl vm.max_wired увеличить. А оперативной памяти хватает? Оперативка 24 Гбайт. vm.max_wired: 2028623 Не думаю, что это причина... udpxy вполне себе нормально работает на этой же машине. За малым исключением - некоторые каналы HD/mpeg4 непонятно почему ретранслируются с рассыпанием, подвисаниями и цыканием. Поэтому я и решил попробовать msd_lite, но пока что-то категорически безуспешно :( . Edited June 1, 2016 by nemo_lynx Вставить ник Quote
nemo_lynx Posted June 1, 2016 Posted June 1, 2016 ulimit -a что выдаёт? cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 33554432 stack size (kbytes, -s) 524288 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) 64 max user processes (-u) 7390 open files (-n) 707013 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited sbsize (bytes, -b) unlimited pseudo-terminals (-p) unlimited Вставить ник Quote
Ivan_83 Posted June 1, 2016 Author Posted June 1, 2016 Попробуй: sysctl vm.max_wired=4294967295 ulimit -l unlimited Либо читай доку, в конфиге нужно заменить shm на /tmp или иное место где тмпфс есть для хранения кольцевых буферов. Вставить ник Quote
nemo_lynx Posted June 2, 2016 Posted June 2, 2016 Попробуй:sysctl vm.max_wired=4294967295 это привело вот к чему: sysctl vm.max_wired: -1 ulimit -l unlimited эта команда выполняется, но ничего не меняет: locked memory (kbytes, -l) 64 Либо читай доку, в конфиге нужно заменить shm на /tmp или иное место где тмпфс есть для хранения кольцевых буферов. Прописал в конфиге согласно доке /tmp (там 9Гбайт свободно) - результат тот же. Может в конфиге что-то не так? <?xml version="1.0" encoding="utf-8"?> <msd> <log> <file>/var/log/msd_lite.log</file> </log> <threadPool> <threadsCount>2</threadsCount> <fBindToCPU>yes</fBindToCPU> <fCacheGetTimeSyscall>yes</fCacheGetTimeSyscall> <timerGranularity>100</timerGranularity> </threadPool> <systemResourceLimits> <maxOpenFiles>8192</maxOpenFiles> <maxCoreFileSize>unlimited</maxCoreFileSize> <maxMemLock>unlimited</maxMemLock> <processPriority>0</processPriority> </systemResourceLimits> <HTTP> <skt> <rcvBuf>4</rcvBuf> <sndBuf>256</sndBuf> <rcvTimeout>30</rcvTimeout> <sndTimeout>30</sndTimeout> </skt> <ioBufInitSize>4</ioBufInitSize> <ioBufMaxSize>4</ioBufMaxSize> <bindList> <bind> <address>192.168.1.1:4242</address> <backlog>1024</backlog> <fAcceptFilter>no</fAcceptFilter> <congestionControl>htcp</congestionControl> </bind> </bindList> <hostnameList> <hostname>*</hostname> </hostnameList> </HTTP> <hubProfileList> <hubProfile> <fDropSlowClients>no</fDropSlowClients> <fSocketHalfClosed>no</fSocketHalfClosed> <fSocketTCPNoDelay>yes</fSocketTCPNoDelay> <fSocketTCPNoPush>yes</fSocketTCPNoPush> <fZeroCopyOnSend>yes</fZeroCopyOnSend> <precache>4096</precache> <sndBlockSize>64</sndBlockSize> <ringBufSize>32768</ringBufSize> <ringBufStorePath>/tmp</ringBufStorePath> <skt> <sndBuf>512</sndBuf> <congestionControl>htcp</congestionControl> </skt> <headersList> <header>Pragma: no-cache</header> <header>Content-Type: video/mpeg</header> <header>ContentFeatures.DLNA.ORG: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000</header> <header>TransferMode.DLNA.ORG: Streaming</header> </headersList> </hubProfile> </hubProfileList> <sourceProfileList> <sourceProfile> <skt> <rcvBuf>512</rcvBuf> <rcvLowat>48</rcvLowat> <rcvTimeout>2</rcvTimeout> </skt> <multicast> <ifName>vlan200</ifName> </multicast> </sourceProfile> </sourceProfileList> </msd> Вставить ник Quote
Ivan_83 Posted June 2, 2016 Author Posted June 2, 2016 <fZeroCopyOnSend>no</fZeroCopyOnSend> Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.