Влияние настройки роли на потребление памяти

29.01.19

Администрирование - Роли и права

На днях разбирался с проблемой с потреблением памяти процессами конфигуратора и rphost. Как оказалось - причина в настройках ролей. Один поворот не туда, и настройки роли приводят к чрезмерному потреблению оперативки.

Начальные данные - конфигурация 1C ERP 2.4, платформа 8.3.12. Симптомы проблемы устойчивые и от объема пользовательских данных не зависят.

Рост потребления памяти для конфигуратора начинается при открытии любой формы.

Рост потребления памяти для rphost при первом подключении.

Поскольку конфигуратор тоже имел проблему с ресурсами, было решено проверить гипотезу о некорректных метаданных. Аномалия была локализована последовательным переносом всех доработок по типам объектов в типовую конфигурацию. При загрузке добавленных ролей был получен характерный рост потребления памяти. Поверхностный анализ явной проблемы не выявил, роли созданы по канонам ERP - одна настройка на чтение или изменение для одного конкретного объекта метаданных. Поэтому ничего лучше, как выгрузить конфигурацию в файлы и проверить исходники, я не придумал. Как оказалось, выгруженные роли занимают более 50% от общего объема и среди этих файлов есть 237 файлов Rights.xml по 20 Мб, общим объемом 4,42 Гб.

Просмотр первого попавшегося файла сразу же определил направление, куда копать. Для теста были созданы две роли на один и тот же объект. После выгрузки проблемная роль так же весила около 20 Мб, корректная роль чуть более 1Кб.

Итак, рецепт воспроизведения проблемы:

1) добавить роль;

2) Действия - Снять все права;

3) ... прочие действия по настройке прав;

4) PROFIT!!!

Теперь подробнее, роль создается с такими настройками по умолчанию, на все реквизиты всех объектов установлены права:

После снятия всех ролей права на доступ к реквизитам так же снимаются, но при включенной настройке "Устанавливать права для реквизитов и табличных частей по умолчанию" в настройках прав, помимо наших настроек, для всех реквизитов прочих объектов конфигурации фиксируется значение Ложь.

Починить такую роль можно двумя способами:

- отключить настройку "Устанавливать права для реквизитов и табличных частей по умолчанию";

- отключить/включить настройку для заполнения выключенных реквизитов.

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

Дополнительная ссылка на статью.

конфигуратор метаданные оптимизация роли права rphost

См. также

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

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

12000 руб.

02.09.2020    169303    937    403    

905

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

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10010    48    5    

78

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

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    38960    281    98    

215

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

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

15000 руб.

10.11.2023    11398    40    27    

66

Логистика, склад и ТМЦ Роли и права Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для 1С:Бухгалтерия 3.0, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

4560 руб.

21.05.2019    1695306    575    194    

137

Ценообразование, анализ цен Роли и права Системный администратор Платформа 1С v8.3 Управление правами 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение возможностей программы 1С УНФ. Функционал расширения - разграничение всевозможных прав пользователей и контроль при совершении различных действий.

3000 руб.

23.02.2018    59194    164    262    

156

Роли и права Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Данная система разработана как альтернатива стандартной системе напоминаний. Но имеет ряд существенных преимуществ: отображение в базе или с отправкой по почте, свое расписание, возможность фильтрации по ролям и пользователям, формирование своих запросов и макетов, шаблоны писем, работа в фоне. А также может блокировать работу пользователей при заданных условиях. Может работать в составе любой конфигурации. Имеется справка с описанием возможностей. (Обновление от 20.02.2024, версия 2.2, расширение)

19200 руб.

29.11.2019    25884    17    8    

37
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Shmell 547 29.01.19 13:23 Сейчас в теме
Интересно капнули. Меня всегда напрягало что при открытии редактора форм в конфигураторе ERP - съедалось более 1,5 ГБ памяти
nomad_irk; +1 Ответить
2. zqzq 25 29.01.19 13:29 Сейчас в теме
1) добавить роль;

2) Действия - Снять все права;

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

Никогда не использовал "Снять все права" -- как теперь выяснилось, и правильно.
mitia.mackarevich; Plotks2017; jif; mvk4d; +4 Ответить
3. arakelyan 396 29.01.19 15:48 Сейчас в теме
4. ImPenguin 35 30.01.19 08:45 Сейчас в теме
А с типовыми ролями как быть, там ведь поголовно такая фигня?
5. mickey.1cx 403 30.01.19 10:13 Сейчас в теме
(4) есть такое. Либо самому править, либо фиксировать ошибку в 1С и ждать пока зайдут изменения с обновлениями.

Дмитрий74Чел; +1 Ответить
6. mickey.1cx 403 30.01.19 10:32 Сейчас в теме
Копание в исходниках оказалось довольно интересным занятием. так же были обнаружены два макета табличных документов, в распакованном виде 100 и 40 Мб, в mxl - 24 и 7 Мб соответственно. Ошибка в структуре, после строк с данными разрыв строк на пять и продолжение структуры таблицы вплоть до строки с индексом 65535. После операций копирования содержимого, удаления и вставки обратно размер документов после сохранения стал 15 и 24 Кб. Мелочь на общем фоне, а приятно :)
CheBurator; Kolunya; tormozit; JohnyDeath; sorb; A_Max; WellMaster; +7 Ответить
7. gubanoff 63 31.01.19 17:33 Сейчас в теме
(0) на платформе 8.2.18.109 не работает - какие флажки у роли не ставь, снимай все права, ставь все права - при выгрузке файл формируется одного и того же размера и в нем все равно указаны все объекты.
SirStefan; +1 Ответить
8. mickey.1cx 403 31.01.19 21:15 Сейчас в теме
(7)
Выгрузка в файлы в 8.2 - аналог ключа /DumpConfigFiles
В 8.3 появилась выгрузка в файлы с ключом /DumpConfigToFiles
В первом случае роли выгружаются с настройками по всем объектам конфигурации.
Во втором - как раз, то что нужно.
9. PerlAmutor 155 01.02.19 17:43 Сейчас в теме
(0)
На своем сайте выпишите:

Чтобы исправить роль, необходимо выключить и включить настройку "Устанавливать права для реквизитов и табличных частей по умолчанию"


Тут написали:


Починить такую роль можно двумя способами:

- отключить настройку "Устанавливать права для реквизитов и табличных частей по умолчанию";

- отключить/включить настройку для заполнения выключенных реквизитов.


Хочу предостеречь желающих "починить" таким образом. Когда вы попытаетесь нажать на птичку "Устанавливать права для реквизитов и табличных частей по умолчанию" - система вас спросит, а действительно ли вы хотите снять/установить настройки для всех реквизитов и табличных частей? И вот тут надо хорошенько подумать что вы тем самым делаете. У меня есть роли, мои, не типовые. Обе на один документ. Обе позволяют документ читать и писать. Но есть нюанс, вторая роль сделана для пользователей, которые имеют право на просмотр и изменение всего лишь одного реквизита в документе. В этом документе содержится финансовая информация не для посторонних глаз. "Починив" роль вышестоящим образом вы откроете пользователям шикарные виды на размеры определенных выплат. К тому же я видел несколько типовых ролей в ERP где доступ на просмотр тоже есть у пары реквизитов, которые используются в отчетах.
mickey.1cx; +1 Ответить
10. mickey.1cx 403 01.02.19 23:26 Сейчас в теме
(9) хорошее замечание. Возьму на заметку, что подобные роли стоит выделять наименованием, чтобы не забыть. Вроде, мод_ЧтениеДокумента_Реквизиты.
11. PerlAmutor 155 02.02.19 07:43 Сейчас в теме
(10) Кстати я так и не понял откуда у вас взялись роли по 20Мб. В моей старой ERP (2.1.3.93) самая "большая" роль "РазделCRMИМаркетинг" - 10Мб в XML. В новых версиях ERP она отсутствует.
12. mickey.1cx 403 03.02.19 00:10 Сейчас в теме
(11) в типовой 2.4.2.144 ЧтениеПретензийКлиентов, ДобавлениеИзменениеПретензийКлиентов уже 16,3 Мб. Плюс доработки внесли свой вес.
13. tormozit 7245 14.04.19 09:11 Сейчас в теме
ОШибку в 1С отправили?
14. toxilamer 38 16.09.19 08:15 Сейчас в теме
Понравилась данная статья. Спасибо.
Вдохновившись, автоматизировал исправление ролей по избыточности настроек:
https://infostart.ru/public/1118568/
mickey.1cx; +1 Ответить
16. tvssm 10.11.20 12:17 Сейчас в теме
Интересное расследование, мне понравилось.
17. Дмитрий74Чел 238 31.05.24 16:20 Сейчас в теме
отключить/включить настройку для заполнения выключенных реквизитов.

Не понял, это где?
Оставьте свое сообщение