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

10.04.20

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

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

Скачать файлы

Наименование Файл Версия Размер
Ревизор сеансов
.cfe 99,70Kb
18
.cfe 1.2.0 99,70Kb 18 Скачать

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

(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

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

 

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

См. также

SALE! 20%

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

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122180    670    389    

714

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7298    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

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

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

10000 8000 руб.

10.11.2023    3545    11    1    

34

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177760    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99349    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18118    6    8    

40

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28111    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23605    15    15    

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