nas_event_daemon

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (16)

просмотр истории страницы
nas_event_daemon работает следующим образом:

# В настройке [оборудования|Справочник NAS] можно указать количество потоков, это по сути сколько [учетных записей|CarbonBilling:Учетная запись. Создание и изменение.] будет обрабатываться одновременно
# Форк берет первые 1000 событий по учетной записи, при этом в первую очередь обрабатывается user_info
# Если скрипт отправки события возвращает код ошибки 143 или 254 значит событие откладывается на 0.017 умноженное на номер попытки, всего может быть 10 попыток, т.е. то есть обязательно обратите внимание на дату события и счетчик попыток
# После форка всех потоков демон просто ждет: usleep 50000 (время указано в микросекундах, что равно 0.05 секунды)
# И снова форкает пока не закончатся события в стеке
Можно настроить количество потоков чтобы ускорить процесс но надо помнить несколько вещей:

* Если на каждую учетку очень много событий и отклик у оборудования долгий то вы просто наспамите демонов, которые скорее всего еще и транзакций навешают друг на друга т.к. один не успеет завершиться за 50000 милисекунд
* Если на учетку по 1 событию и учеток очень много, то увеличение потоков не очень поможет.
* Если на каждую учетку очень много событий и отклик у оборудования долгий, то вы запуститите излишнее количество демонов. Это может наоборот замедлить отправку команд.
* Если на учетную запись пиходится по 1 событию и учётных записей много, то увеличение потоков поможет слабо.

Если увеличили потоки обязательно проверьте, что они успевают обрабатывать:
{code}ps aux |grep nas{code}
{code}
ps aux | grep nas
{code}

Не должно со временем расти.
Не должно расти со временем.

{note}
{note}* * При управлении оборудованием по CoA средствами radiclient не должно возникать проблем с параллельной отправкой команд
* При управлении оборудованием по ssh или telnet могут возникать проблемы: ssh может работать недостаточно быстро, telnet часто имеет ограничение на одновременное количество сессий{note}
{note}

h2. Еще немного технических деталей
Используемые таблицы: EVENTS_STACK_COMPACT, EVENTS_STACK.

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

h3. API

Используемые модели: EventsStackCompact, EventsStack.
Для отладки проблем вы можете использовать [конструктор отчётов|Конструктор отчетов]. Данные в таблицах постоянно перезаписываются, так что данные будут видны только при нагрузке. Используются таблицы:
* *Events_Stack_Compact*
* *EventsStack*

h1.Настройка