konto usunięte

Temat: Prośba o rzetelną informację

Witam,
Ja z pytankiem do kolegów od Asteriska i temu podobnych rozwiązań. Wiele w necie można poczytać na temat wydajności rozwiązań opensource, lecz mnie interesuje praktyczne ograniczenie tego typu środowisk a konkretnie informacja o tym ilu ludzi jest w stanie pracować na serwerze z zainstalowanymi kartami np. sangoma oraz nagrywaniem + podsłuchiwaniem rozmów. Tutaj w google padają różne liczby a w praktyce nie miałem okazji dotykać większych systemów bazujących właśnie na tej technologii. Chodzi mi o sytuację w której mamy po stronie zewnętrznej np. X portów E1 a po stronie wew Y ext na IP.

Z góry dzięki
Andrzej Ciupek

Andrzej Ciupek Specjalista ds
telefonii

Temat: Prośba o rzetelną informację

Kiedyś robiłem testy na zasadzie:

Serwer Core 2 Duo 1800MHz, 2GB RAM, karta Sangoma A104 bez kancelatora Echa.
Robiłem dzwonienie krosami między portami, czyli 2 trakty dzwoniły na dwa pozostałe (łączenie na traktach zestawione 120 równoczesnych połączeń).
Połączenia wychodzące trafiały na MusicOnHold i odebrane przychodzące na MusicOnHold z drugiej strony, do tego nagrywanie rozmów MixMonitorem.
Z włączonym software kancelatorem echa Load systemu wykręcał się ponad 60 i rósł :).
Gdy wyłączałem kancelator to było koło 20.

Z działających systemów, to przyzwoicie chodziło na 70 osób na 3 traktach w Sangomie A104 bez kancelatora echa. Każda rozmowa nagrywana, do tego jeszcze otoczka agi z łączeniem do bazy danych, ale to było na 4 serwery rozbite, wtedy był Asterisk 1.6.0.1 i 8GB RAM procesor 2 x Intel(R) Xeon(R) CPU 5130 @ 2.00GHz, oddzielny serwer pod bazę danych z realtime, oddzielny pod apache, oddzielny pod serwer fastagi.

Jednak serwer z Asteriskiem działał sprawnie w takiej konfiguracji. Na pewno pomógłby kancelator echa i instalacja sterownika z:

./Setup install --zap-chunk=<CHUNK SIZE>

Bo testowałem to później w podobnym rozwiązaniu do wspomnianego na początku i była różnica. Niestety nie pamiętam już wyników, a nie dysponuje kartą, żeby to sprawdzić.

Moim zdaniem wąskim gardłem był serwer z Sangomą, bo powstawał load właśnie tak jak w opisanym teście, gdy połączenia wrzucało się np. po SIP na bramkę, którą było np. Cisco z 4 x E1, wtedy load na systemie był bliski 0. Ale zabiegi z rozmiarem chunk mogłyby coś pomóc.Andrzej Ciupek edytował(a) ten post dnia 19.12.11 o godzinie 14:21
Marcin Kowalczyk

Marcin Kowalczyk Senior CVoIP
Engineer

Temat: Prośba o rzetelną informację

Pamietajcie, ze jak nagrywacie 120 rozmow to musicie miec dyski ktore wyrobia z zapisem, bo inaczej loady rosna ze wzgledu na IO-wait. Wiec najlepiej nagrywac do ramdrive'a i pozniej zasysac po sieci na inna maszyne.

Kiedys testowalismy 4xE1 na Sempron 1200+ 512mb ram, A104D i byl luzik jak sie nagrywalo <30 kanalow bezposrednio na dysk. Jak nagrywane bylo >30 kanalow to byly jaja z rwaniem glosu w jedna ze stron.
Bez nagrywania 120 kanalow i poprostu dziala.

Znam systemy oparte na opensource ktore maja po 150tys uzytkownikow i dzialaja ;)Marcin Kowalczyk edytował(a) ten post dnia 19.12.11 o godzinie 16:07
Jakub Klausa

Jakub Klausa CTO, SS7
Technologies sp. z
o.o.

Temat: Prośba o rzetelną informację

Odpowieź nie jest prosta, bo pytanie pozostawia wiele miejsca na interpretację, ale generalnie najbardziej zasobochłonną funkcją/usługą w tego typu systemie jest nagrywanie rozmów (w asterisku) ze względu na sposób jego realizacji - w zadadzie zapisywany jest pakiet po pakiecie, co generuje ogromną ilość I/O. Kolejnym elementem byłoby ewentualne obciążenie generowane przez karty E1, ale to jest obciążenie rzędy wielkości mniejsze niż to wynikające z nagrywania. Cała reszta funkcjonalności, w szczególności te, które nie korzystają z innych podzespołów komputera niż karta sieciowa, generalnie nie stanowi dla współczesnego sprzętu problemu do obsługi kilkuset czy nawet kilku tysięcy jednoczesnych połączeń (no, może poza transkodingiem ;-)).

Wszystkie te problemy można wyeliminować w mniejszym lub większym stopniu odpowiednio projektując system i dzieląc zadania pomiędzy wydzielonymi systemami.

konto usunięte

Temat: Prośba o rzetelną informację

Cześć
Więc doprecyzuję pytanie :)
Strona PSTN DSS1 uLaw, strona extensionów ( G729 ), zapis na dysk nagrań w stereo kodek PCM lub inny ( tutaj potrzebna dowolność ). Pytam dlatego gdyż nie miałem w ręcach jeszcze interfejsów typu sangoma i jak na wiedzę, którą posiadam serwer będzie wykonywał dekodowanie ulaw do PCM potem kodował do G729 i w przypadku użycia np. 12 interfejsów E1 procesor w serwerze 'dostanie zapłonu'. Czy może tutaj się mylę? A może istnieją już rozszerzenia do sangomy czy podobnych kart z transkodowaniem na hardware?
Stanisław P.

Stanisław P. Software designer

Temat: Prośba o rzetelną informację

Nie ma tu co kombinować ze strzelaniem, tylko jak chcesz sprawdzić to:

- Odpal kodek przez np. astconv'a i sprawdź ile ramek na sekunde potrafi obrobić. Problem może być tylko przy g729, bo en/de-kodowanie do g711 jest praktycznie darmowe (enkodowanie kilkaset razy szybsze niż inne kodeki, dekodowanie to tylko sprawdzenie wartości w tablicy).

- Docelowy lub podobny system do składowania nagrań przetestuj pod względem wydajności przy dużej ilości wątków piszących. Duży wpływ na wydajność tutaj ma też system plików (post tylko dla przykładu, na pewno są lepsze statystyki: http://www.evanhoffman.com/evan/2011/07/22/benchmarkin... ) Sprawdź ile danych możesz rzeczywiście zapisać i jak to się przekłada na ilość kanałów danego kodeka. Dodatkowo - g711 z rozmowy fajnie się kompresuje nawet przez rle ;), bo przynajmniej jedna strona zwykle milczy (nie radzę miksować na żywo)

- Jeśli rzeczywiście myślisz o 12 E1 to i tak będziesz musiał mieć większą ilość serwerów niż jeden. Np. 4 * 3, zapis do ramu, potem kopia do storage'u na xfs'ie, kodeki kupione od digium... i nie powinieneś mieć problemu (oczywiście zależy co jeszcze przetwarzasz po stronie serwera)

Na DL360 g5, 8-core śmiga około 400 kanałów g711 / gsm bez większego wysiłku (i większość bez nagrywania oczywiście). Jak potrzebujesz nagrywać bardzo dużo to zostają jeszcze rozwiązania takie jak serwer z E1 tylko do obsługi rozmowy, a samo nagrywanie zbierane z port-mirror na innym serwerze.

No i jak chcesz iść na dużą skalę to jeszcze przeanalizuj sobie asterisk -vs- freeswitch... bo to jednak robi dużą różnicę.Stanisław P. edytował(a) ten post dnia 19.12.11 o godzinie 22:05
Andrzej Ciupek

Andrzej Ciupek Specjalista ds
telefonii

Temat: Prośba o rzetelną informację

Odnośnie wspomnianego nagrywania do RAM-u, to tu jest artykuł. Ważne też żeby wszystko nie leciało do jednego katalogu, bo jak już dużo plików, to tablica plików też duża co może wpływać na wydajność zapisu.

http://thread.gmane.org/gmane.comp.telephony.pbx.aster...

konto usunięte

Temat: Prośba o rzetelną informację

Rafał Dąbrowa:
Cześć
Więc doprecyzuję pytanie :)
Strona PSTN DSS1 uLaw, strona extensionów ( G729 ), zapis na dysk nagrań w stereo kodek PCM lub inny ( tutaj potrzebna dowolność ). Pytam dlatego gdyż nie miałem w ręcach jeszcze interfejsów typu sangoma i jak na wiedzę, którą posiadam serwer będzie wykonywał dekodowanie ulaw do PCM potem kodował do G729 i w przypadku użycia np. 12 interfejsów E1 procesor w serwerze 'dostanie zapłonu'. Czy może tutaj się mylę? A może istnieją już rozszerzenia do sangomy czy podobnych kart z transkodowaniem na hardware?

Po pierwsze jeśli mówimy o Sangomie - używaj kart ze sprzętową kancelacją echa. Mimo że droższe to przy większej ilości E1 to naprawdę ma duży sens. Jak słusznie zauważono adjustable chunk size może wydatnie obniżyć obciążenie maszyny.

http://sangoma.com/assets/docs/misc/2009_10_09_How_to_...

Po drugie jeśl masz g729 i g711 to dochdzi transkodowanie - dorzuć Sangomę serii D 100, 150 czy 500 i odciąży procesor. Karty transkodujące to produkt mocno nie doceniany u nas a całkiem sporo ich sprzedaję za granicę. http://sangoma.com/products/hardware_products/transcod...

Po trzecie jak też już zauważono - dyski. Dobry sterownik i szybkie SASy.


Obrazek



Obrazek


PozdrawiamMarcin W. edytował(a) ten post dnia 20.12.11 o godzinie 12:55

konto usunięte

Temat: Prośba o rzetelną informację

Dzięki wszystkim za informacje, bardzo mi się przydały. Życzę wszystkim szczęśliwego nowego Roku!!
Jakub Klausa

Jakub Klausa CTO, SS7
Technologies sp. z
o.o.

Temat: Prośba o rzetelną informację

Na DL360 g5, 8-core śmiga około 400 kanałów g711 / gsm bez większego wysiłku (i większość bez nagrywania oczywiście).

Warto uściślić - każda rozmowa to minimum 2 kanały (nie biorąc pod uwagę 3way, konferencji itp), w związku z czym 400 kanałów (przy założeniu podziału pół na pół TDM i IP) to dopiero początek dla tego typu maszyny.

Jeśli mówilibyśmy o ruchu wyłącznie IP, nawet najbardziej zasobożerny engine - asterisk (ze względu na to, że zawsze jest agentem typu b2bua, co ma swoje plusy i minusy) na tego typu maszynie moglibyśmy mówić o tysiącach call-legów (kanałów).

Podobne tematy


Następna dyskusja:

VOiP - Prośba o pomoc




Wyślij zaproszenie do