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

msd Lite - тестируем Замена udpxy если у кого оно ещё осталось

Просто взять и собрать - нет.

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

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

Если очень надо могу в НГ праздники попробовать сделать авто выбор для фри при сборке, чтобы и на старье собиралось.

MAP_ALIGNED_SUPER - сделаю чтобы не мешалось сборке в случае отсутствия.

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


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

Просто взять и собрать - нет.

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

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

Если очень надо могу в НГ праздники попробовать сделать авто выбор для фри при сборке, чтобы и на старье собиралось.

MAP_ALIGNED_SUPER - сделаю чтобы не мешалось сборке в случае отсутствия.

было бы супер.

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


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

Иван приветсвую. Готов взять на себя полномасштабное тестирование под wive-ng под snr-cpe на чипах rt3052

выложите плиз сборку msd_lite под нее. или. в двух словах как собрать, самостоятельное курение инета не помогло, под mips не собирал софт ни разу

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

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


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

И я не собирал ничего линуксового под отличные от х86 архитектуры.

 

Там должен быть тулчейн под конкретную архитектуру, а дальше оно собирается примерно как обычно только компилятором из тулчейна а не системным.

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


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

Зараза в том, что в тулчайне wive-ng не нашел компилятора (как например в тулчайне dd-wrt).

Автор на контакт не выходит :(

 

Сегодня еще раз буду копать его тулчайн, может пойму что к чему

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


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

Up!

 

Неужели никому не интересно эту няшку на домашнем роутере запустить?

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


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

Для одного клиента там мизерный профит, а может даже наоборот мизерная просадка будет.

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

 

А из тех кто может сам собрать я тут знаю только Нитро и ядрокота, им обоим оно не сильно то и надо.

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


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

Собрался без проблем на:

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" выдернуть, не спорю. Разве что для упрощения.

 

Автору спасибо за разработку.

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

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


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

Под х86 линухом и я регулярно собираю, это не новость что там работает :)

 

Для кастомизации списка нужно поправить всего 3 файла:

1. msd_lite.c чтобы добавить новую комманду в урл

2. msd_lite_stat_text.h чтобы объявить новую функцию для обработки команды

3. msd_lite_stat_text.c саму функцию.

Фактически смотреть на hubstat и делать что хочется.

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


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

Взялись поиграться.

Берём мультикаст и отдаём приставке в юникасте.

 

Исходное:

centos6

msdlite 1.08

mag 245

Плейлист с каналами скормлен с флешки.

 

На udpxy заметно подтормаживание, приходится секунд 5 ставить буфер в настройках.

Но переключение каналов при этом становится на редкость задумчивым.

На msd lite пока без тюнинга sysctl лучше, но буфер всёравно нужен.

Мультикастовые приставка щёлкает примерно секунды 2, тут же от 5 до 10.

 

В сторону чего стоит посмотреть для ускорения переключения каналов именно?

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


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

wget .... -o /dev/null

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

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


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

Гм, а нельзя некоторые каналы заставить например постоянно тянуть или же если один раз обращались то продолжать тянуть некоторое время?

Распространяется ли этот буфер в случае обращения на динамические ссылки udpxy стиля?

И с какого момента рекомендуется применение тюнинга?

 

Сейчас это маленькая вмка на esxi с гигом памяти и одним cpu, загрузка с виду меньше чем на udpxy.

 

Скажем у тогоже icecast в опциях relay есть опция on-demand, когда станцию он тянет постоянно, илиже только если на релей к нему обратились.

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


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

Можно, либо вот так подвешивая клиента на каждый канал, либо правкой исходника либо переходом на msd.

У msd_lite только динамические каналы и есть, с синтаксисом как у udpxy + немного доп параметров в урл.

С момента установки ОС :)

Хотя бы буфера сокета в линухе увеличить, и загрузить htcp модуль.

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


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

Ivan_83

А есть какая-то табличка сравнительная с тем-же udpxy например?

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

 

И возможно в личку, я полистал ценник обычной msd, в рамках этого ценника на какого-то уровня помощь в установке/настройках/анализе производительности при внедрении можно рассчитывать?

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


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

Таблички нет, потребление ресурсов очень скромное, настолько что на проц можно особо не смотреть, только на сетевуху чтобы ширины канала хватало и на объём памяти, из расчёта по 40 метров на канал + 1, лучше 2 гб под систему и её нужды.

 

http://www.netlab.linkpc.net/wiki/ru:software:msd:price

Если доступ по ссш будет и описание откуда брать мультикаст и как/куда отдавать то сам могу настроить.

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


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

Таблички нет, потребление ресурсов очень скромное, настолько что на проц можно особо не смотреть, только на сетевуху чтобы ширины канала хватало и на объём памяти, из расчёта по 40 метров на канал + 1, лучше 2 гб под систему и её нужды.

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

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

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


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

Сколько ни старайся, а количество 10Г адаптеров которое можно поставить в один тазик - величина конечная. (я слышал про железки с 12, на 120гб в сумме, но то было не для иптв)

Кроме того всякие резервы и прочие фантазии в области архитектуры.

В самом демоне нет никаких ограничений по клиентам/полосе, он ограничен только железом/лимитами ОС.

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


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

Приветствую!

 

Заинтересовался. Скачал и поставил на 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.

 

Что ей мешает память выделить?

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


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

Попробуйте sysctl vm.max_wired увеличить.

А оперативной памяти хватает?

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


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

Попробуйте sysctl vm.max_wired увеличить.

А оперативной памяти хватает?

Оперативка 24 Гбайт.

vm.max_wired: 2028623

Не думаю, что это причина...

 

udpxy вполне себе нормально работает на этой же машине. За малым исключением - некоторые каналы HD/mpeg4 непонятно почему ретранслируются с рассыпанием, подвисаниями и цыканием. Поэтому я и решил попробовать msd_lite, но пока что-то категорически безуспешно :( .

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

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


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

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

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


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

Попробуй:

sysctl vm.max_wired=4294967295

ulimit -l unlimited

 

Либо читай доку, в конфиге нужно заменить shm на /tmp или иное место где тмпфс есть для хранения кольцевых буферов.

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


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

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>

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас