диалплан виснет на CDR(userfield)

Основной форум.
Для опытных

Модераторы: Admins, Модераторы

Ответить
kontrol
Сообщения: 24
Зарегистрирован: 01 июн 2011, 15:31

диалплан виснет на CDR(userfield)

Сообщение kontrol » 28 апр 2018, 14:07

уважаемые коллеги, прошу наставить на путь истинный. Asterisk 13.4.0 , CDR пишется в MySQL
почему-то при большой звонковой нагрузке диалплан виснет на строке Set(CDR(userfield):
exten => 4040,1,Set(dst=${EXTEN})
exten => 4040,n,Set(CDR(userfield)=${dst})
exten => 4040,n,Set(VOLUME(TX)=2)
exten => 4040,n,Set(VOLUME(RX)=2)

запросов к БД в этот момент в show processlist - как обычно, 30-40, база при обращениях не тормозит.

в чем может быть проблема? Насколько я понимаю, при Set(CDR(userfield) нет физической записи в БД, переменная userfield хранится в памяти астера до тех пор, пока не разорвется сеанс, то есть он даже к БД не обращается. Но даже если бы и она и писалась в БД при Set() - база не нагружена, самая большая нагрузка что есть на сервере в этот момент - большое число sip-соединений (50 одновременных примерно )

awsswa
Сообщения: 1719
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Re: диалплан виснет на CDR(userfield)

Сообщение awsswa » 28 апр 2018, 15:22

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

kontrol
Сообщения: 24
Зарегистрирован: 01 июн 2011, 15:31

Re: диалплан виснет на CDR(userfield)

Сообщение kontrol » 28 апр 2018, 15:44

нет, в сторону mysql не копал, на основании того, что визуально он не тормозит и в show processlist мало соединений, меньше обычного.
пойду копать в эту сторону, спасибо

virus_net
Сообщения: 427
Зарегистрирован: 05 окт 2014, 06:10
Откуда: Москва
Контактная информация:

Re: диалплан виснет на CDR(userfield)

Сообщение virus_net » 29 апр 2018, 06:22

kontrol писал(а):
28 апр 2018, 14:07
Насколько я понимаю, при Set(CDR(userfield) нет физической записи в БД
Так и есть.
kontrol писал(а):
28 апр 2018, 14:07
прошу наставить на путь истинный
Врубать максимальный дебаг.
kontrol писал(а):
28 апр 2018, 14:07
в чем может быть проблема?
В чем угодно. С чего вы решили что только из-за этой строки проблема ?
kontrol писал(а):
28 апр 2018, 14:07
при большой звонковой нагрузке
Это какой конкретно ?
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)
- whois сервис: whois.bitname.ru или whois.bitname.bit
- dns сервис: dns1.bitname.ru dns2.bitname.ru
- статистика по доменам
ENUMER - звони бесплатно и напрямую.

kontrol
Сообщения: 24
Зарегистрирован: 01 июн 2011, 15:31

Re: диалплан виснет на CDR(userfield)

Сообщение kontrol » 04 май 2018, 08:46

Коллеги, все заработало. Проблема была действительно в разросшейся (16 млн записей) таблице cdr (mysql), в это время налюбдались запросы в slow_queries.log к таблице (но это были select-запросы).
Вобщем, проблема решена, на путь истинный наставили , спасибо!

Ответить