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

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

В сегодняшнюю подборку вопросов из Мастер-групп мы включили вопросы, касающиеся поиска причин повышенного потребления памяти на сервере 1С:Предприятия, анализа информации о неактуальных лицензиях 1С, некорректного переподключения внешних обработок (отчетов).

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

 

Вопрос №1: Как искать и анализировать причины ошибки “При выполнении сценария наблюдается повышенное потребление памяти на сервере 1С:Предприятия“?

Подскажите алгоритм решения задачи типа “При выполнении сценария наблюдается повышенное потребление памяти на сервере 1С:Предприятия“. На ум приходит только сбор данных технологического журнала по событию CALL в процессах rphost и аккумуляция Memory (или MemoryPeak) по Context. Но по такому журналу собираются только системные контексты:

  • По Memory – контекст “Система.ПолучитьФайл”
  • По MemoryPeak – контекст “Система.ПолучитьПредставлениеСсылок”

Я так понимаю, что в неправильном направлении думаю. Направьте в правильном.

Ответ:

Контексты системные, но так и поиск расхода памяти на сервере, поэтому ваш способ – вполне себе способ:) Также имеет смысл смотреть следующие события:

  • LEAKS — события, связанные с утечкой памяти, которые могут быть вызваны ошибками в коде конфигурации. Здесь могут иметь место циклические ссылки, ошибки в платформе и т.п.
  • MEM — события, связанные с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost). Помимо непосредственно расхода памяти сеансами может быть расход и самими процессами.

 

Вопрос №2: Почему в информации о лицензиях 1С отображаются неактуальные лицензии?

В нашей компании в сети имелись программные многопользовательские лицензии + ключи USB:

  1. Сервер 1 HASP4 ORGL8 20
  2. Сервер 2 HASP4 ORGL8 20
  3. ПК доступный в сети HASP4 ORGL8 10

Мы сдали все USB ключи в апгрейд на один USB на HASP4 ORGL8 50. Теперь имеем программные лицензии + HASP4 ORGL8 50. Но в информационных базах видна информация по лицензиям, в том числе по старым ключам, которых физически нет в сети:

Текущая:

Сетевой HASP4 ORGL8 50, получило клиентское приложение

810135хххх, сервер 64, 13.04.2017 0:00:00, ООО “ххх”

Информационная база:

Сетевой HASP4 ORGL8 20

Сетевой HASP4 ORGL8 10

Локальный HASP4 ORGL8 20

Локальный HASP4 ORGL8 10

810045ххх, клиент, 31.01.2019 0:00:00, ООО “ххх”

Подскажите, пожалуйста, почему видим неактуальную информацию по лицензиям? Как её почистить?

Ответ

Информация о лицензии разделена на 2 блока – Текущая и Информационная база.

В блоке Текущая показывается лицензия текущего сеанса – та, которая используется в данный момент. Здесь всё корректно – отображается новая 50-пользовательская лицензия.

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

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

 

Вопрос №3: Почему при переподключении внешней обработки (отчета) в пользовательском режиме не видно внесенных изменений?

Часто, при разработке внешнего отчета или обработки я сталкиваюсь с такой проблемой – после изменений кода и сохранения изменений никакого результата не видно. Как будто бы никаких изменений не происходило. Замечено на клиент-серверных архитектурах. Пробовал чистить локальный кэш – не помогает. Помогает переименование файла обработки. Как вылечить подобную проблему?

Ответ

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

В документации нашел вот такое пояснение: https://its.1c.ru/db/v8318doc/bookmark/dev/TI000000335

Если подключена новая обработка (отчет) с таким же именем, как и подключенная обработка (отчет), то открытые формы от “старой” обработки (отчета) перестают работать (генерируется ошибка).

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

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

Но добиться стабильного воспроизведения проблемы в своё время у меня не получилось, один раз воспроизводилось, десять раз – не воспроизводилось. Поэтому могу предложить использовать расширения вместо внешних обработок.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

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

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.