Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Производительность диалплана

1

Здравствуйте. Прошу прощения за нубский вопрос, но вот оценив сегодня очередной раз свой вывод verbose() не отпускает вопрос о производительности. На один обычный вызов у меня приходится портянка >150 разных приложений, правда без AGI() и System(). И имеет тенденцию расти относительно хотелок руководства. Люди с опытом, подскажите, пожалуйста, оно вообще надо особо обращать на это внимание, пытаться оптимизировать или обработка диалплана не сильно систему грузит ?

удалить закрыть спам изменить тег редактировать

спросил 2013-11-05 11:44:05 +0400

bb2kp Gravatar bb2kp
105 7 1 8

Comments

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

awsswa ( 2013-11-05 13:41:39 +0400 )редактировать

2 Ответа

2

ну желательно все же писать так,чтоб неиспользованные куски не работали зря.

но в общем случае это влияет только на размер лога. сильно влияют только блокировки и внешние вызовы(DB/system/AGI).

также влияет если у вас в одном контексте 10000+ екстеншенов с приоритетом 1, но в 1.4+ это было переписано на дерево

ссылка удалить спам редактировать

ответил 2013-11-05 12:01:15 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Спасибо за ответ. В принципе, так и стараюсь делать. Если переменная AstDB нужна больше одного раза, то она сохраняется в channel variable. System() и AGI() - только в специфичных контекстах: факс, запись вызовов и т.д.

Но чтобы огородить неиспользуемый кусок кода, приходится использовать условия. В результате их и нарастает прилично. То, о чем я спрашивал, как раз на 90% состоит из 3-х команд. Set(), Goto(), GoSub()

bb2kp ( 2013-11-05 13:46:15 +0400 )редактировать

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

meral ( 2013-11-05 16:26:28 +0400 )редактировать
1

Все зависит от нагрузки, большинство хитрых задач решается простыми методами. Вообще чистый диалплан довольно быстр и обычно не является узким местом. Ну и 150 строк это тоже не шибко много.

ссылка удалить спам редактировать

ответил 2013-11-05 13:49:04 +0400

switch Gravatar switch
8334 11 7 92
http://lynks.ru/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2013-11-05 11:44:05 +0400

Просмотрен: 354 раз

Обновлен: Nov 05 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.