Страница 1 из 1

Cколько значениий возможно сохранить в global variable ?

Добавлено: 19 авг 2019, 12:40
everslab
У меня есть задача по хранению ключ - значение для выполнения логики в диалплане.
Для этого проситься конечно же использование agi/fastagi для запроса в базу, но это не вариант , при пиковой нагрузке (около 2500 звонков). Не раз убеждался что такие вещи нужно делать стандартными функциями.
Нашел проект https://github.com/drivefast/asterisk-res_memcached
, но у меня так и не получилось скомпилировать как указано в доке.
Собственно в связи с этим мои измышления привели меня к вопросу возможно ли использовать global variable для этих целей, но не нашел информации об ограничениях, например о максимальном количестве этих глобальных переменных.

Re: Cколько значениий возможно сохранить в global variable ?

Добавлено: 19 авг 2019, 14:21
ded
Создавать/хранить ключ в нативной astdb?
CLI> database show
everslab писал(а): при пиковой нагрузке (около 2500 звонков)..
Одновременных? В минуту? В секунду?

Re: Cколько значениий возможно сохранить в global variable ?

Добавлено: 19 авг 2019, 15:16
everslab
Использование astdb - это же тоже обращение к бд (sqlite) , т.е. к файловой системе, что тоже подгрузит машину.
Под цифрой 2500 я имею ввиду количество активных звонков (core show calls ) active calls в определенный момент.

Re: Cколько значениий возможно сохранить в global variable ?

Добавлено: 19 авг 2019, 15:26
ded
Да, начиная с Asterisk 10, Asterisk uses SQLite3
А в старых - astdb это не sqlite, это BD3 Berkley BD, https://www.voip-info.org/asterisk-database/
всё содержимое её Астериск так или иначе уже держит в памяти у себя. Нет нужды использовать memcached.

Re: Cколько значениий возможно сохранить в global variable ?

Добавлено: 19 авг 2019, 15:49
everslab
Спасибо за совет, попробую.
Записей мне нужно порядка 10 000 000, думаете astdb справится ?
В любом случае оттестирую, сообщу сообществу результат.

Re: Cколько значениий возможно сохранить в global variable ?

Добавлено: 19 авг 2019, 16:04
ded
Если объём оперативной памяти позволит загрузить 10 000 000 записей, то так и будет их держать в голове, отдавая со скоростью = memcached (AFAIK).

Re: Cколько значениий возможно сохранить в global variable ?

Добавлено: 19 авг 2019, 16:58
gosha
я за fastagi. за которым или мемкеш или база. так более гибко.

а про то что на 2500 все разьедится - еще и от железа зависит и от callflow. У нас и 5к звонков
с fagi живет.

Re: Cколько значениий возможно сохранить в global variable ?

Добавлено: 21 авг 2019, 18:01
Zavr2008
2500 звонков старый астер не вывалит.
Плюс если перегрузить то улетит всё
Я бы посоветовал просто БД на другой машине сделать, если мало - тогда несколько с общей базой.
ну а в астере просто запросы по url в диалплане.

Вообще сдается мне каалекторы вы галимые и по мобилам оператора пробиваете при обзвонах..

Re: Cколько значениий возможно сохранить в global variable ?

Добавлено: 23 авг 2019, 17:33
everslab
Нет)
Ну вообще это мне нужно чтобы
автоматически выбирать ранее выбранный клиентом язык и не проговаривать некоторые промпты если человек сегодня уже звонил.
Но задача стала уже не актуальной, протестировать выдержит ли AstDB возможности пока не будет.
Когда задача опять станет актуальной протестирую и отпишу вытащила ли.