chan_skyp GUI - интерфейс к Skype для Asterisk
Откуда: Москва
Сообщений: 3421
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
dimas: ну AEL-то ладно, он и правда ущербный.
но чем так лучше этот lua в сравнении с FastAGI и каким-нибудь как бы это сказать покорректнее... более распространенным языком? perl'ом тем же. Или ruby...
С pbx_lua по эффективности можно сравнивать только fast_agi. Обычный AGI связан с порождением процессов, а это узкое место.
Fast_agi приложение можно сделать асинхронным, где обработка ведется в рамках одного процесса, и тогда это узкое место преодолевается (классический синхронный подход преполагает порождение нового потока / процесса при каждом новом соединении к сокету).
Далее фантазирую: в AGI мы ограничены по доступу во внутренности астериска, так как все "гальванически развязано" через сокет :-)
В pbx_lua код выполняется в ядре, значит, можно вытягивать структуры данных, состояния и прочее напрямую, а не создавая обертки в виде AGI вызовов. Хотя насчет правильности последего подхода можно и попробовать.
Но на самом деле меня Lua привлек исключительно своей легковесностью - очень хочу Asterisk с полноценным GUI на каком-то WiFI роутере за пару тыс. руб :-)
|
Сообщений: 866
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
нууу....
насчет доступа к структурам я все же думаю что это из области фантастики. Я бы в плюсы это не записывал не проварив :)
fastagi делать асинхронным большого смысла нет ибо пропадает линейность и наглядность кода падает. Так что лучше действительно порождать поток на каждое новое соединение. Но эта операция очень легкая на самом деле.
Про легковесность луа я пожалуй соглашусь.
|
Откуда: Уфа
Сообщений: 5856
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
dimas: Сам астериск я не модифицирую так что "свобода" продукта на моей совести.
а это вы про невыкладывание сорсов или про что?
если про него, то имхо астериск не LGPL а просто GPL так что ничего модифицировать чтобы попасть под действие лицензии не требуется :) Заюзал астериск в составе другого продукта - попал :) Во всех смыслах :)
С кого тогда потребовать исходники Switchvox и queuemetric?
Где исходники Digium ADA и коллцентра от Line24, который они на форуме презентовали?
|
Откуда: Москва
Сообщений: 3421
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
dimas: нууу....
насчет доступа к структурам я все же думаю что это из области фантастики. Я бы в плюсы это не записывал не проварив :)
Я про модификацию pbx_lua. Это С-шный модуль, имеющий доступ через core API ко всему в Asterisk'e. Добавить в него доступ к чему-то проще, чем оборачивать его в AGI, хоть и не намного :-)
fastagi делать асинхронным большого смысла нет ибо пропадает линейность и наглядность кода падает.
Наглядность кода точно падает, а насчет линейности... Ты что имеешь в виду? Что async архитектура не способна обрабатывать большое число звонков? Это не так. Есть очень производительные асинхронные WEB серверы.
Так что лучше действительно порождать поток на каждое новое соединение. Но эта операция очень легкая на самом деле.
Когда я изучал этот вопрос в Linux (лет 10 назад), порождение потока немногим отличалось от fork'a :-)
Сейчас явно многое поменялось, появились NPTL всякие там... Но в любом случае, порождение потока - это отъем ресурсов (RAM & CPU). А однопточная асинхроная модель один раз сожрала память, и далее просто работает (если утечек не дает :-)
100 звонков в одном и другом случае будут сильно отличаться по затребованным ресурсам.
Моя цель - минимизировать до максимума (гы) требования к RAM & CPU.
|
Откуда: Уфа
Сообщений: 5856
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
Десять лет назад считал, что за асинхронными приложениями - будущее. Сейчас техника совершила оборот, и актуальным становятся синхронные многопоточные приложения, и в скором времени под каждый поток можно будет отвести персональное ядро процессора.
Но асинхронные приложения сложны и в разработке и в отладке, это факт. С другой стороны - меньше потребляют ресурсов.
В общем сложный вопрос.
Вот сейчас производительности моего младшего сервера, на 50 абонентов, хватает, чтобы обрабатывать 50 одновременных звонков при 2-х новых в каждую секунду. И проблема - то не в производительности. А в надежности. Ибо через 12 часов и 50 тыс. звонков кончается память - все съедает астериск, утечка памяти.
А вы тут про диалплан...
|
Сообщений: 866
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
Наглядность кода точно падает, а насчет линейности... Ты что имеешь в виду? Что async архитектура не способна обрабатывать большое число звонков? Это не так. Есть очень производительные асинхронные WEB серверы.
нет, я не про масштабируемость а именно про линейность кода. Когда вместо "запросить А, сделать Б" нужно делать "начать запрос А, по результатам вызвать колбэк <начать делать Б>". То есть про наглядность же.
Когда я изучал этот вопрос в Linux (лет 10 назад), порождение потока немногим отличалось от fork'a :-)
ну треды на бесплатных юниксах 10 лет назаз были user-space. Порождение нового треда не требовало даже ни одного syscall'в. В отличие от форка. Так что откуда такая информация я не знаю :)
Но в целом свитч прав - за исключением embedded устройств сейчас тренд - это массовая многопроцессорность. В результате аккуратноо написанное multithreaded приложение легче разогнать - поставил на машину с 16 ядрами и в космос.
Патологические же случаи рассматривать не стоит - если разработчик безрукий то вообще без разницы какой подход он использует и сколько ядер у него есть - все равно не взлетит :)
|
Сообщений: 866
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
PS: как вы цитируете по кусочкам с сохранением имени вообще? Если ссылку "цитировать" нажимать - то она весь текст квотит хоть имя и сохраняет. Но второго человека уже не процитируешь... Я вообще всегда [квоте] [/квоте] ручками пишу из-за этого. но мне лень туда ручками же имена вписывать :)
|
Откуда: Уфа
Сообщений: 5856
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
дык и я тоже ручками пишу, а еще можно на одном посту нажать "цитировать", скопипастить, потом вернуться, второй скоприровать, тоже скопипастить и уже в третьем все в кучу собирать...
|
Откуда: Sevastopol
Сообщений: 10
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
Ну раз пошла такая пьянка...
Для относительно простых вещей мы используем AEL, для всего остального FastAGI+AMI+Erlang и PostgreSQL в качестве СУБД. Erlang прекрасен своими легковесными процессами и мягким реалтаймом. Для интеграции с AMI используем самописный модуль, для FastAGI вот это: http://tools.assembla.com/erlast
|
Откуда: Уфа
Сообщений: 5856
|
Re: chan_skyp GUI - интерфейс к Skype для Asterisk
вот мысль посетила:
почему когда-то повсеместно использовавшиеся cgi скрипты вытеснились php и другими интерпретаторами?
да потому, что интерпретатор, помимо простоты отладки, был постоянно загружен в память и не было накладных расходов на системные вызовы. Решили это, на скоко я помню, модулем для апача.
Также можно и с астером поступить.
Линейность кода + отсутствие расходов ресурсов на запуск интерпретатора.
|
|