Ревизор сеансов

10.04.20

Разработка - Инструментарий разработчика

Сколько клиентских лицензий вам надо на сотню зарегистрированных пользователей информационной базы? 100? 50? А может всего 20? На сайте Infostart можно найти разные подходы, как организовать принудительное завершение "холостых" сеансов, освобождая занятые лицензии для тех, кому они действительно могут понадобиться в ближайшее время. Здесь представлена попытка создать максимально неприхотливое и эффективное решение этой проблемы. Ревизор сеансов оформлен как расширение конфигурации управляемого приложения, в текущем варианте в режиме совместимости 8.3.12 (код основан предшествующих публикациях, см. ссылки в конце статьи). Концепция plug-and-play минимизирует административные издержки при использовании. В частности нет необходимости заботиться об организации отдельного управляющего сеанса или о запуске обработки по расписанию. Адаптивный режим работы с контролем предельного количества сеансов позволяет избавиться от мороки выбора подходящего тайм-аута, который в любом случае никогда не будет оптимальным. Встроенные средства мониторинга нагрузки позволяют объективно оценить момент, когда покупка дополнительной партии клиентских лицензий будет действительно необходима. В качестве бонуса идет возможность учета времени работы пользователей в информационной базе.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Ревизор сеансов
.cfe 99,70Kb ver:1.2.0
18
18 Скачать (3 SM) Купить за 2 450 руб.

Ревизор сеансов

(v1.2, 12.2020)

Назначение

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

Предусмотрено два режима контроля сеансов - простой, по фиксированному таймауту, и адаптивный, когда дополнительно контролируется максимальное число работающих сеансов. 

Настройки

  • Блокировка пустых паролей - запрещает вход пользователей с пустыми паролями. 
  • Включить контроль сеансов - активирует контроль сеансов. 
  • Предельное число сеансов - желаемое число сеансов, котрое не следует превышать. 
  • Таймаут - значение таймаута сеанса в минутах. 
  • Применять таймаут - сеансы, к которым применяется таймаут. 
  • Время удержания - время простоя в течение которого сеанс не может быть завершен принудительно. 
  • Интервал проверки - интервал проверки времени простоя сеанса.
  • Хранить историю - количество дней, в течение которого хранятся записи в журналах.

Настройки, которые неприемлемы в текущем режиме становятся недоступными на форме редактирования.

Адаптивный режим работы

Адаптивный режим работы включается при ненулевом параметре настроек Предельное число сеансов. При достижении предельного количества сеансов запускается процесс голосования, который выбирает наиболее подходящего кандидата для принудительного завершения.  В текущей реализации критерием победы в голосовании является время простоя сеанса. Сеансы, у которых время простоя не превышает Время удержания, не принимают участия в голосовании.

Подсистема ведет журнал голосования, который может использоваться для диагностики.

Завершение сеансов по Таймауту в адаптивном режиме также выполняется в соответствии с настройкой Применять таймаут.

Локальные клиентские лицензии

При использовании локальных клиентских лицензий совместно с общим пулом лицензий возникают сложности с определением предельного количества сеансов. Автоматическое определение типов лицензий на клиентском приложении затруднительно, поскольку требует админитстративного доступа к кластеру сеансов.

Компьютеры, на которых установлены локальные клиентские лицензии, можно добавить в список исключений. Для этих целей рекомендуется использовать кнопу Добавить/Cнять Исключениена доработанной форме Активные пользователи подсистемы Ревизора.

Сеансы на компьютерах из списка исключений не учитываются при подсчете текущего числа сеансов и не участвуют в голосовании.

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

 

Мониторинг нагрузки

Ревизор собирает данные и строит график по следующим параметрам нагрузки: 

  • Все сеансы - количество работающих сеансов, кроме тех, которые попадают в исключения. 
  • Активные сеансы - сеансы (из числа не попадающих в исключения), которые не могут быть завершены. Сюда входят сеансы  с временем простоя меншье времени удержания, а также специальные сеансы, которые не контролируются Ревизором (конфигураторы, COM-соединения, WS-соединения). Приближение данного параметра к предельному числу сеансов указывает на критическую ситуацию, при которой может возникнуть нехватка свободных лицензий. 
  • Таймауты - количество принудительных завершений в течение часа. 

    Мониторинг, а также другие общие служебные операции, включая чистку журналов выполняются мастер-сеансом. Сеанс, из которого в последний раз были записаны настройки Ревизора становится мастером. В дальнейшем мастер-сеанс будет выбираться в следующем порядке убывания приоритета:

  • Тот же пользователь, из под которого были записаны настройки. 
  • Тот же компьютер. 
  • Тот же номер сеанса. 

    В списке активных пользователей мастер-сеанс отображается синим цветом.

Учет времени работы пользователей

Пользователь считается работающим в данный момент, если время простоя не превышает 3 минуты. Исходя из этого критерия Ревизор ведет учет времени работы пользователей информационной базы.  

Масштабирование

Алгоритм работы системы построен таким образом, что запись служебной информации в базу происходит только во время активности пользователя, либо в процессе голосования.  Периодические запросы к регистрам являются не интервальными.  Исключение составляет мастер-сеанс, который выполняет общий мониторинг нагрузки.

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

Таким образом, Ревизор должен допускать масштабирование до нескольких сотен клиентских процессов без заметной нагрузки на сервер информационной базы.

Права доступа в расширении

Администратору Ревизора для работы с интерфейсом подсистемы требуются Полные права.

Остальным сеансам требуются права по чтению к регистрам сведений Ревизора. В расширении это реализовано через роль Запуск тонкого клиента.  Если эта роль отсутствует в основной конфигурации или не устанавливается по умолчанию всем пользователям, необходимо добавить в расширение другую, более подходящую.

Обычным сеансам права на запись в регистры сведений Ревизора не требуются, так как эта операция выполняется в привилегированном режиме.

Предостережения и оговорки

При открытом модальном окне проверки допустимости использования конфигурации (ввод данных Интернет-поддержки пользователей) Ревизор не может закрыть приложение и клиентский процесс уходит в бесконечный цикл, забирая ресурсы процессора на локальном компьютере.

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

Если предельное число сеансов не задано (простой режим), а настройка применять таймаут установлена в значение не применятьто Ревизор не завершает сеансов принудительно. В этом режиме Ревизор продолжает вести статистику работы пользователей, которая может быть использована для последующего анализа.

 

О разработке

(с) 2020 Коноплев Вениамин, ИКИ РАН

//infostart.ru/profile/256095/

Допускается любое использование материала при условии сохранения ссылки на первоисточник.

Данная разработка базируется на публикаях Infostart.ru:

Публикация № 920170, Сергей Постовалов

//infostart.ru/public/920170/

Публикация № 931108, Алексей Хадиятов

//infostart.ru/public/931108/

 

Данное расширение содержит модифицированную копию обработки Активные Пользователи из типовой конфигурации 1С Документооборот 2.1. Решение о копировании кода вместо механизма расширения было принято по следующим причинам:

  1. Минимизировать влияние расширения на базовую функциональность типовой конфигурации.  
  2. Минимизировать конфликты при последующих обновлениях типовых конфигураций.

Протокол изменений

Версия 1.2 от 12.2020

  • Добавлена блокировка пользователей с пустыми паролями.
  • Увеличена до 7 дней глубина графика монитора загрузки.
  • Исправлена ошибка отображения справки в WEB-клиенте.

Версия 1.1 от 04.2020

  • Первый публичный релиз.

 

активность_пользователей экономия лицензий время простоя

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    171776    962    403    

924

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14308    109    46    

108

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    17273    43    15    

75

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27275    96    48    

138

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11900    45    27    

67

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 руб.

14.01.2013    191181    1152    0    

920

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18088    7    32    

42

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1115    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. inaccess 08.06.21 10:15 Сейчас в теме
Стоит ограничение на 15 сеансов
запущено 35
некоторые сеансы не активны по несколько часов.
Вопрос...
Какой смысл в таких доработках
3. wkon 14 08.06.21 23:59 Сейчас в теме
(1) Из восьми скачавших Вы первый с такими проблемами. Расширение рабочее, сам им пользуюсь. Возможно что не совместимо с Вашей платформой или конфигурацией. Если хотите разобраться - пишите в личку.
2. inaccess 08.06.21 10:44 Сейчас в теме
Ревизор сеансов с ограничением в 15
График вообще не понятно что показывает
Прикрепленные файлы:
4. krikmarin 2 16.11.22 04:08 Сейчас в теме
Ошибка: {РевизорСеансов Обработка.РевизорСеансовАктивныеПользователи.Форма.АктивныеПользователи.Форма(134,3)}: Переменная не определена (ИнтеграцияСТехнологиейСервисаКлиент)
В актуальных конфигах отсутствует общий модуль ИнтеграцияСТехнологиейСервисаКлиент. Он был переименован в ИнтеграцияПодсистемБСПКлиент.
Оставьте свое сообщение