Несколько слов про платформенный механизм оптимизации RLS

Публикация № 1636698 07.04.22

База данных - HighLoad оптимизация

Смотрим, как работает платформенный механизм оптимизации RLS, сравним поведение на разных СУБД MS SQL, Postgres 11,13,14.

Начиная с версии 8.3.18 платформы 1С появился механизм оптимизации RLS. С данной особенностью мы столкнулись при анализе проблемы быстродействия конфигурации ERP. Проведем небольшой анализ и посмотрим что это такое и как оно работает.

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

Исходные условия проводимого анализа:

  • исследование проводили на 5 СУБД: MS SQL, Postgres Pro, Postgres 11, Postgres 13, Postgres 14!
  • использовали 3 версии платформы 1C: 8.3.16, 8.3.19, 8.3.20.
  • операционные системы Windows server для 1с и postgre SQL, MS SQL; linux под postgre SQL.
  • база использовалась для исследования конфигурация ERP с достаточным объемом данных (заказы клиентов ~600 000 документов, регистр заказов ~7 500 000 записей);
  • для тестов использовались 3 пользователя с различными RLS ограничениями и администратор;
  • для демонстрации были использованы более 20 тестовых запросов, а были выбраны в статью 2 примера (этого достаточно). 

Исследование

Если проанализировать шаблон, то что в нем не изменяется? Это под запрос, определяющий группы доступа пользователя.

 

С точки зрения логики — можно вообще посчитать это значение один раз при входе пользователя и передавать в шаблон, как массив доступных значений. У ребят из Раруса где-то была подобная статейка на сайте - "Оптимизация типового шаблона RLS (получение групп доступа)". Кто у кого подсмотрел?

Давайте посмотрим, как эта платформенная особенность выглядит в работе. Открываем базу под любым пользователем с RLS, берем консоль запросов и вбиваем простой текст — эмуляция динамического списка заказов клиента конфигурации ERP/УТ/КА:

 
 Простой запрос (имитация динамического списка заказов клиента)

 

ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 45
	Т.Номер КАК НомерДокумента,
	Т.Дата КАК ДатаДокумента,
	Т.Организация КАК Организация,
	Т.Контрагент КАК Контрагент
ИЗ
	Документ.ЗаказКлиента КАК Т

 

 

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

 
 SQL запрос получения групп доступа и с подстановкой таблиц

 

SELECT
	T1._Reference116_IDRRef AS ACCESS_GROUPRRef
FROM _Reference116_VT3635 T1
	INNER JOIN _InfoRg36262 T2
	ON (T2._Fld36264_TYPE = '\\010'::bytea AND T2._Fld36264_RTRef = '\\000\\000\\001,'::bytea AND T2._Fld36264_RRRef = '\\272-\\000PV\\2346\\034\\021\\354X0\\246}4\\017'::bytea) AND (T2._Fld36263_TYPE = T1._Fld3637_TYPE AND T2._Fld36263_RTRef = T1._Fld3637_RTRef AND T2._Fld36263_RRRef = T1._Fld3637_RRRef)
WHERE ((T1._Fld1585 = CAST(0 AS NUMERIC))) AND (T2._Fld1585 = CAST(0 AS NUMERIC)) LIMIT 21

или воспользуемся обработкой конвертации SQL в представления 1С

ВЫБРАТЬ ПЕРВЫЕ 21
	T1.Ссылка КАК ACCESS_СГРУППИРОВАТЬRRef
ИЗ Справочник.ГруппыДоступа.ТабличнаяЧасть.Пользователи КАК T1
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК T2
	ПО (T2.Пользователь = '\\010'::bytea И T2.Пользователь = '\\000\\000\\001,'::bytea 
	И T2.Пользователь = '\\272-\\000PV\\2346\\034\\021\\354X0\\246}4\\017'::bytea) 
	И (T2.ГруппаПользователей = T1.Пользователь 
	И T2.ГруппаПользователей = T1.Пользователь 
	И T2.ГруппаПользователей = T1.Пользователь)
ГДЕ ((T1.ОбластьДанныхОсновныеДанные = ВЫРАЗИТЬ(0 КАК ЧИСЛО))) 
	И (T2.ОбластьДанныхОсновныеДанные = ВЫРАЗИТЬ(0 КАК ЧИСЛО)) 

И эти данные подставляются как массив значений уже в запросе RLS

 
 Пример запроса выбора ЗК SQL и с подстановкой таблиц 1С

План запроса

https://explain.tensor.ru/archive/explain/a6ae34c18cc0c12a54c04d6796eeeae3:0:2022-04-05#visio

 

 

Теперь давайте вручную добавим в запрос группы:

https://explain.tensor.ru/archive/explain/5a6575d3332264f3e01d741488876da4:0:2022-04-05#visio


 

Изменения плана запроса для MS SQL Server имеют похожую структуру оптимизации, только схема плана для postgres выглядит более красиво.

Пример плана с оптимизацией:

 

 

План без оптимизации:

 

 

Алгоритм действий платформы выглядит как показано на рисунке ниже. Сначала идет запрос поучающий группы доступа (выделен красной рамкой). Далее идет следующий запрос с подставленными группами доступа в операторе «В» запроса с RLS.

 

 

Т.е. выбирается 21 значение. А что происходит, если будет равно или больше? Ответ: оптимизация отрабатывать не будет, см. рис. ниже! Может было надо использовать 42?

 

 

Давайте сравним время выполнения и планы запросов с оптимизацией и без. Без оптимизации будем ручками подставлять порезанную вставку в SQL (мы провели большее количество тестов и среди них выбрали несколько, по остальным картинка подобная).

1. Запрос имитации динамического списка ЗК (приведен выше)

2. Давайте построим более сложный запрос. Добавим выбор нескольких полей через точку и сортировку по полю «ДатаДокумента» составного типа:

 
 Запрос с выбором через точку и сортировкой

 

ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 45
	"test_rg_12345" КАК Ключ,
	ЗаказыКлиентов.ЗаказКлиента.Номер КАК НомерДокумента,
	ЗаказыКлиентов.ЗаказКлиента.Дата КАК ДатаДокумента,
	ЗаказыКлиентов.ЗаказКлиента КАК ЗаказКлиента,
	ЗаказыКлиентов.Номенклатура КАК Номенклатура,
	ЗаказыКлиентов.Характеристика КАК Характеристика,
	ЗаказыКлиентов.Заказано КАК Заказано,
	ЗаказыКлиентов.КОформлению КАК КОформлению,
	ЗаказыКлиентов.Сумма КАК Сумма
ИЗ
	РегистрНакопления.ЗаказыКлиентов КАК ЗаказыКлиентов

УПОРЯДОЧИТЬ ПО
	ДатаДокумента

 

 

  • Postgres 11:
    • без оптимизации (~541 с) 
    • с оптимизацией (~6 900 с)
  • На Postgres 13 поведение совсем другое:
    • без оптимизации (~8 с)
    • с оптимизацией (~8 с)
  • На Postgres 14 особых отличий нет
  • На Postgres pro 13 поведение подобное обычной версии
  • На MS SQL Server
    • без оптимизации (16 с)
    • с оптимизацией (14 с)

Как так получилось? Оптимизация ухудшает производительность! Давайте взглянем и сравним поведение старшей версии Postgres 13 и младшей Postgres 11. Пример отличий в работе планировщика - в старшей версии по условию вхождения групп ищется по индексу, а в младшей выбирается сначала данные из индекса по условию, а потом накладывается фильтр с группами (это медленнее) см. рис. ниже.
 

 

Резюме:

  • На MS SQL Server оптимизация работает, эффект виден
  • Если вы работаете на 1С в связке с Postgres 11, то срочно переходите на Postgres 13 или 14
  • Не увидел в выбранных тестах отличий Postgres pro от Postgres
  • Качество работы СУБД Postgreres с выходом 13 и 14 версии положительно удивило и еще больше приблизилось к уровню MS SQL
  • На мой взгляд, оптимизация от 1С получилась не однозначной для СУБД Postgres:
    • - запросы стали проще, схема плана стала меньше
    • - серьезного отрыва в производительности увидеть не удалось
  • Можно переходить на версии платформы 1С 8.3.18, 8.3.19 и выше особенно при использовании СУБД MS SQL, положительный эффект будет.

 

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. sapervodichka 6459 07.04.22 13:34 Сейчас в теме
Красота, Владимир, спасибо за проделанную работу и легкоусвояемые выводы!
METAL; Дмитрий74Чел; SerVer1C; ivanov660; +4 Ответить
2. babys 89 07.04.22 14:20 Сейчас в теме
3. Kaval88 167 07.04.22 15:28 Сейчас в теме
Прекрасная статься)
ivanov660; +1 Ответить
4. Brawler 441 07.04.22 20:20 Сейчас в теме
Включите производительный режим RLS в ERP, погоняйте тесты.
Отличия есть?
5. ivanov660 3892 07.04.22 21:02 Сейчас в теме
(4)
1. Это другой механизм RLS. В нем нет подзапросов не относящихся к защищаемому объекту, соответственно, работать данный платформенный алгоритм не будет (который рассматривается в статье).
2. Да, отличия в производительности будут.
3. Просто так взять и погонять тесты мы не можем и не будем, для нас должна быть какая-то выгода или задача. Демонстрационную базу брать для выполнения тестов бессмысленно из-за отсутствия достаточного количества данных. Текущая реализация нас не устраивает полностью, поэтому сейчас мы проводим анализ на необходимые доработки, затем будем проверять и согласовывать вариант с заказчиком. Это вопрос достаточного количества времени. Когда "звезды сойдутся" и все получится, тогда мы обязательно расскажем.
METAL; mrChOP93; sapervodichka; +3 Ответить
6. Brawler 441 07.04.22 22:03 Сейчас в теме
(5) Правильно ли я понимаю, что новый придуманный 1С в БСП механизм производительных RLS настолько плох?
7. ivanov660 3892 07.04.22 22:44 Сейчас в теме
(6) Отвечу за себя, а выводы делайте самостоятельно:

На мой взгляд, реализация данного механизма не доведена до кондиции.

Идея его реализации позволяет избежать основной проблемы "старого" шаблона - линейного роста количества условий в ограничении доступа к таблице от количества накладываемых прав и количества таблиц в запросе. Т.е. чем больше прав на один объект данных вы назначите, то тем больше условий через "И" добавится в секцию "ГДЕ" SQL запроса платформой. Новый подход должен исправить эту проблему.

С другой стороны архитектурно алгоритм предлагает все данные базы запихать в две таблицы - ключи объектов и ключи регистров и за счет этого добиться применения единого условия. А теперь вопрос! Какой размер будет этих регистров на большой базе? Я видел базы в которых только в одном регистре было несколько миллиардов записей. Сотни и тысячи миллиардов? И другие проблемы подобного рода.

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

Интересная статья тут: Производительность механизма ограничения прав на уровне записи в «1С» (RLS).
chemezov; Yashazz; mrChOP93; sapervodichka; +4 Ответить
8. support 4566 08.04.22 22:20 Сейчас в теме
Спасибо за такие статьи!)
ivanov660; +1 Ответить
9. karpik666 3706 09.04.22 11:58 Сейчас в теме
Спасибо, очень интересно и познавательно
ivanov660; +1 Ответить
10. Yashazz 4511 10.04.22 10:12 Сейчас в теме
Очень так себе публикация. По сути, просто разбор одного случая, одного "кейса" в сугубо конкретных условиях. Скриншотики, 2-3 замерчика одного запроса. На "статью" не тянет. Ну не у всех ERP, и не всем нравится использовать очередную уродливую поделку от 1С, которую по недоразумению называют "механизмом БСП".

Нет, я понимаю, что пионэры млеют и исторгают восторги уже от одного только упоминания слов "профайлер", "план запроса" и пары сканов, но - извините, мне маловато. Нет экстраполяции, нет категоризации, нет более охватывающего анализа. Не айс.
user1040271; +1 2 Ответить
11. ivanov660 3892 10.04.22 12:15 Сейчас в теме
(10) Дерзайте, напишите статью, проведите исследование, покажите мастер класс. Прям из вас так и льется последнее время желчь(
1. Механизм БСП думаю занимает более 90% используемых конфигураций. поэтому это очень актуально. А нравится или не нравится - такова жизнь.
2. Условия анализа довольно серьезные (куда еще круче)?
- провели исследование на 5 СУБД: MS SQL, Postgres pro, Postgres 11, 13, 14!
- использовали 3 версии платформы 1C: 8.3.16, 8.3.19, 8.3.20.
- операционные системы windows server под 1с и postgre SQL, MS SQL; linux под postgre SQL
- база использовалась для исследования с достаточным объемом данных ЗК~600 000 документов, регистр заказов ~7 500 000 записей
- для демонстрации были выбраны 2 примера, все остальные примеры запросов (мы по факту использовали более 20 и 3 различных пользователя с RLS), показывают подобную картинку и смысла приводить их я не вижу.
3. Нам это исследование очень помогло понять причины плохого поведения связки 1С 8.3.19 и Postgres 11. Поэтому считаю будет полезно и остальным.
karpik666; PLAstic; artbear; +3 Ответить
12. Yashazz 4511 10.04.22 13:11 Сейчас в теме
(11) Во-первых, ответ в стиле "давай сделай сам, чем критиковать" - это, общеизвестно, аргумент на уровне песочницы, посему мимо. Не говоря уж о том, что это публичный ресурс и каждый имеет право на высказывание своей точки зрения. А вот вы, милсдарь, пытаетесь перейти на личности (это про "желчь"), что вас не красит.
Во-вторых, ни в одной целевым образом написанной, действительно серьёзной, промышленных масштабов системе БСП не используется, либо используется очень фрагментарно, и это многократно говорилось на соответствующих ресурсах самими представителями 1С. Пруфлинков уже не дам, у меня подписка кончилась, но факт. И вот к чему бы оно так, а?
В третьих, никто не оспаривает серьёзность анализа. А вот серьёзность статьи - да. Потому что разобран, подчёркиваю, один случай. Всесторонне, да, но один. А такие вещи, если уж говорить о статье, должны делаться с большим охватом, нежели один фрагмент запроса.
user1040271; +1 1 Ответить
14. ivanov660 3892 10.04.22 13:25 Сейчас в теме
(12)
Я вот считаю, что в данном случае рассматривалась конкретный случай. Он рассмотрен с достаточным охватом для нас. Нужен больший охватите самостоятельно, я с удовольствием почитаю, или может еще кто-то дерзнет.
Это, возможно, похвально что вы подошли с такой мощной критикой, но я тут не диссертацию пишу и не защищаю ее перед сообществом.
Поэтому предлагаю завершить полемику - не понравилось, что же на всех не угодишь, денег и времени не напасешься. На ресурсе еще много других более качественных материалов или появятся вскоре.
13. Yashazz 4511 10.04.22 13:23 Сейчас в теме
Я даже так сформулирую. Вывод "срочно переходите на Postgres 13 иди 14" для любого руководителя будет неубедителен, когда он спросит, сколько разных точек системы вы проверяли в ходе исследования. Когда вы скажете, что речь шла об одном запросе, вам придётся очень потрудиться, доказывая, что это ключевой запрос и через него идёт множество процессов, важных для автоматизации.
15. ivanov660 3892 10.04.22 13:35 Сейчас в теме
(13)
1. Мы готовы для этого руководителя (или другого) провести всесторонний анализ по его критериям или выдать результаты по нашим, пусть обращаются контакты мои видны обсудим сотрудничество, либо пусть обращаются к своим специалистам, которые все это сделают.
2. Я написал что был проведен анализ для более чем 20 ключевых для нас запросов, но т.к. результаты не отличаются сильно, смысла проводить их тут не вижу.
3. Т.е. тут кейс, в котором расписано, что, где и как влияет, где смотреть и на что - этого достаточно для специалиста. Хотите расширенную аналитику для других конфигураций и условий - это уже конкретная задача, которая стоит времени и денег.
16. Yashazz 4511 10.04.22 16:19 Сейчас в теме
(15)
2. Я написал что был проведен анализ для более чем 20 ключевых для нас запросов, но т.к. результаты не отличаются сильно, смысла проводить их тут не вижу.
ОК, принято.
17. user1040271 13.04.22 11:36 Сейчас в теме
Пара вопросов к автору:
1. С какой версии платформы 1С появилась поддержка PostgreSQL 14?
2. Какая версия MS SQL Server использовалась в анализе?
18. ivanov660 3892 13.04.22 12:45 Сейчас в теме
(17)
1. Информацию по поддержке платформой 1C версий Postgres смотрите на its
2. MS SQL 13.0.5026.0
19. user1040271 13.04.22 13:50 Сейчас в теме
(18)
Смотрю здесь и вижу что в 8.3.20 появилась поддержка PostgreSQL 13.

Для конфигурации которая была предметом анализа перешли на PostgreSQL 14 или только другим посоветовали?
21. ivanov660 3892 16.04.22 09:26 Сейчас в теме
(19)Есть базы на 11, на 13 и на 14м.
22. aqis 12.10.22 09:23 Сейчас в теме
(21) Подскажите пожалуйста, почему не используется 12?
23. ivanov660 3892 12.10.22 13:09 Сейчас в теме
(22) Несколько причин:
- На момент, когда анализировали на что перейти, были доступны уже 12, 13 и в релиз вышел 14. По идее каждая новая версия лучше (не учитываем детские болячки). Хотели попробовать 14, но если вдруг слишком сырой, то 13 была как план Б.
- Проверять все версии слишком ресурсоемко.
Оставьте свое сообщение

См. также

Простой способ проверки быстродействия

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

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

10.04.2023    2082    vkrivov@yandex.ru    14    

32

Пример многопоточной обработки (БСП)

Обработка документов HighLoad оптимизация Обработка справочников БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

13.02.2023    6220    7    echo77    8    

76

Нагрузочное тестирование в 1С:ERP

HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

02.11.2022    4093    Tavalik    23    

34

MS SQL Server: ваши статистики не работают! Так ли все плохо на самом деле?

HighLoad оптимизация Бесплатно (free)

Состояние и качество статистик критически важны для эффективной работы системы. Но у заметной части типовых конфигураций статистики просто не могут работать эффективно. О том, почему так происходит и что с этим делать, на конференции Infostart Event 2021 Post-Apocalypse рассказал Александр Денисов.

27.09.2022    3379    Филин    11    

37

Утилита тестирования сервера 1С от HADGEHOGs

HighLoad оптимизация Мониторинг Платформа 1С v8.3 Россия Бесплатно (free)

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

21.09.2022    13393    1021    Hadgehogs    56    

132

Быстрый фронт в базе размером 6.8 терабайт – наши стандарты при разработке и рефакторинге запросов

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От быстродействия запросов, которые обращаются к крупным таблицам, напрямую зависит скорость работы всей базы в целом. Артем Кузнецов, тимлид команды 1С в компании ООО «Финтех решения» на конференции Infostart Event 2021 Moscow Premiere рассказал, как оптимизировать производительность при поддержке больших систем. Показал, на что следует обращать внимание при код-ревью запросов, как оптимизировать RLS, виртуальные таблицы, индексы и условия, и как доработка архитектуры решения может ускорить работу базы.

29.08.2022    6448    Chernazem    44    

109

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы Платформа 1С v8.3 1С:Управление холдингом Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    5358    sapervodichka    64    

74

Методика похудения для 1С – 100%

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

Удаление архивных данных из базы - это непростая задача как для 1С, так и для любой базы данных. В статье изложены различные способы решения задачи, включая самый эффективный для 1С.

28.07.2022    6054    1CUnlimited    39    

45

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

11.07.2022    5819    it-expertise    27    

57

10 «заповедей» эксплуатации крупной информационной системы 1С

Управление ИТ-подразделением Внедрение ИТ-системы HighLoad оптимизация Бесплатно (free)

Крупные системы 1С давно уже перешагнули и десятки терабайт, и тысячи пользователей, но во многих случаях подход к эксплуатации таких систем остаётся не на должном уровне. Антон Дорошкевич на конференции Infostart Event 2021 Post-Apocalypse поделился более чем 10-ти летним опытом эксплуатации подобных систем, сведя его к 10 «заповедям», соблюдение которых сделает 1С надёжнее, а труд разработчика – благодарнее и благороднее.

11.07.2022    7966    a.doroshkevich    33    

86

Решение проблем подвисания 1С “в онлайне”. Инструмент - консоль управления блокировками и процессами 1С и PostgreSQL (MS SQL - тестируется)

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 Управляемые формы 8.3.14 Конфигурации 1cv8 Абонемент ($m)

Обработка-консоль, улучшенная версия консоли администрирования 1С для решения проблем с производительностью, поиска и устранения блокировок и длительных запросов. Тестировалось на платформе 8.3.14, 8.3.17, 8.3.20 УФ.

1 стартмани

04.07.2022    7530    65    victor_goodwill    23    

38

Производительный режим работы RLS

HighLoad оптимизация Роли и права Платформа 1С v8.3 8.3.14 8.3.6 8.3.8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Бесплатно (free)

Функционал подсистемы УправлениеДоступом позволяет работать с RLS в двух режимах: стандартном и производительном. Каждый из режимов имеет свои преимущества и недостатки относительно другого. Основные из них будут рассмотрены в данном материале.

14.06.2022    9374    Neti    7    

97

Любовь. Быстродействие. 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

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

26.05.2022    4240    vasilev2015    20    

34

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

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 8.3.14 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

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

24.05.2022    4324    avolsed    15    

33

Экспертный кейс. Расследование фатального замедления времени расчета себестоимости в 1С:ERP 2

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

При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости. Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.

25.03.2022    5923    it-expertise    92    

68

Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками

HighLoad оптимизация Технологический журнал Платформа 1С v8.3 Бесплатно (free)

Рассмотрим по шагам процесс обнаружения, анализа и решения проблемы производительности на примере базы ERP, сравним отличия в работе Postgres и MS SQL.

28.02.2022    13678    ivanov660    18    

147

Привилегированные отчеты

Роли и права HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширение позволяет настроить для пользователей выполнение отчетов в привилегированном режиме. 1) Убирает тормоза формирования отчета, возникающие при наложении прав пользователя на запросы отчета; 2) Позволяет обойти ошибки формирования отчета из-за отсутствия прав на часть объектов у пользователя.

4 стартмани

24.01.2022    11308    27    sapervodichka    36    

102

Ускорение работы конфигуратора 1С с большими прикладными решениями

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Ускорение работы 1С конфигуратора с большими прикладными решениями путем размещения системных каталогов 1С на RAM диске.

13.01.2022    7460    stg2005    105    

40

AMD RYZEN 5600X: погоня за попугаями

HighLoad оптимизация Бесплатно (free)

Все по-взрослому...

08.12.2021    8627    starik-2005    333    

39

Инструкция по получению плана запроса через Extended Events

HighLoad оптимизация Бесплатно (free)

Доброго времени суток, коллеги. Хочу рассказать, как можно посмотреть план запроса через механизм Extended Events. Я хочу ответить на вопрос - как разработчику через SQL Management Studio посмотреть, что запрос, который он сделал, работает оптимально. На Инфостарте есть несколько статей, которые посвящены трассировкам в этом механизме. Мне, когда я не понимал, как это правильно делать, не хватало простой пошаговой инструкции. Я напишу инструкцию, выполняя которую можно будет увидеть план запроса, который выполняется из базы данных.

22.11.2021    3101    Andrei_Ivanov    3    

46

Повышение производительности веб-сервисов. Переиспользование сеансов

WEB-интеграция HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.

20.10.2021    4970    sorter1    3    

47

Изыскания на тему записи в регистр сведений

HighLoad оптимизация Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

21.09.2021    14087    0    METAL    57    

104

Адекватный параллелизм в 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Параллелизм ускоряет выполнение тяжелых регламентных операций на СУБД, но может негативно влиять на работу многопользовательских учетных систем. О том, как анализировать влияние параллелизма и настраивать его для MS SQL и PostgreSQL, рассказал ведущий разработчик компании ООО МКК «Ваш Инвестор» Вадим Фоминых.

13.08.2021    15561    Shmell    8    

59

Создаем счетчики производительности Windows для 1С

HighLoad оптимизация Бесплатно (free)

В статье описан подход, позволяющий создавать счетчики производительности Windows для 1С:Предприятие.

09.08.2021    5089    blackhole321    8    

50

Распространенные ошибки разработчиков, приводящие к проблемам производительности

HighLoad оптимизация Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

Рассмотрим примеры ошибок, анализ, исправление и мероприятия по недопущению подобного в будущем. Всего будет 18 примеров.

02.08.2021    16590    ivanov660    77    

142

Parameter sniffing и генерация планов для разработчиков 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Особенности генерации планов запросов. Статья написана по мотивам вебинара Виктора Богачева.

01.06.2021    15798    vasilev2015    17    

35

Поиск причин блокировок СУБД

HighLoad оптимизация Платформа 1С v8.3 Управление блокировками Конфигурации 1cv8 Бесплатно (free)

Расследование блокировок СУБД. Статья написана по мотивам вебинара Виктора Богачева.

28.04.2021    8531    vasilev2015    14    

84

Решение нестандартных проблем производительности на реальных примерах

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

На екатеринбургском Infostart Meetup выступил с докладом архитектор ИС центра разработки ФТО Александр Криулин. Он поделился с коллегами кейсами нестандартных проблем производительности и рассказал о способах их решения.

24.03.2021    8167    AlexKriulin    37    

78

Соединение вложенными циклами

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Nested loops и отсутствующие индексы. Статья написана по мотивам вебинара Виктора Богачева.

12.03.2021    5298    vasilev2015    22    

61

Анализ блокировок СУБД: таблица изменений плана обмена 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Практический пример анализа типичной проблемы ожидания на блокировках СУБД, возникающих при использовании планов обмена 1С. Сервер СУБД: Microsoft SQL Server.

18.12.2020    5973    zhichkin    11    

36

Контекст всегда важен. История проблем производительности

HighLoad оптимизация Бесплатно (free)

Небольшая история о проблемах производительности из-за нехватки процессорных мощностей. А также описание основных показателей работы CPU.

26.11.2020    10211    Infostart    21    

133

Анализ проблем производительности по динамике мониторинга RAS 1C

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

07.10.2020    7958    ivanov660    13    

69

Ускорение медленной работы строк в 1С на примере 1С:Документооборот КОРП

HighLoad оптимизация Платформа 1С v8.3 1С:Документооборот Бесплатно (free)

Если у вас в 1С:Документооборот КОРП 2.1.11.5 (часть более старых и новых конфигураций): 1) Долго отправляется почта в формате HTML; 2) Медленно открывается документы внутренние / входящие / исходящие; 3) Тормозит область просмотра или открытие задач. Тогда вам сюда.

02.10.2020    7054    Iaskeliainen    16    

57