Имя: Пароль:
1C
1С v8
Время выполнения запроса в консоли у пользователй с разными правами.
, ,
0 Raxla
 
19.12.19
19:21
Есть запрос, пара левых соединений и группировка (слово РАЗРЕШЕННЫЕ не используется). В консоли разработчика запускается под разными пользователями, если у пользователя нет полных прав то время выполнения увеличивается в 10 раз. В выборке не указывается, что надо выбрать только разрешённых. Трассировку делать в скуле пока не хочется. Если это ожидаемое поведение, почему?
1 palsergeich
 
19.12.19
19:23
(0) Ожидаемое.
Слово разрешенные всего лишь приведет к тому будет красная ошибка или нет, если в результат попадут запрещенные записи ну и чуть чуть разные запросы.
Но сама причина не в слове РАЗРЕШЕННЫЕ, а в самом наличии РЛС,точнее его оптимальности
2 palsergeich
 
19.12.19
19:24
(0) И да это тот случай, когда это лучше увидеть в профайлере.
Посмотри текст с Разрешенные и без, посмотри план и тыпоймешь что я имел ввиду.
3 Фрэнки
 
19.12.19
20:03
это актуальные типовым? и тебе не нужны разрешенные а нужны все и РЛС включен?

В типовых предусмотрен режим повышения привилегий в сеансе, чтобы запрос получил все данные без ограничений и на максимальной при этом скорости.
4 Raxla
 
20.12.19
14:26
Суть такая, лаги у пользователей по всем фронтам, но основые в динамическом списке одного документа, естестественно, там установить привелигерованный режим нельзя на время запроса. Как подсказывают, можно отрубить параметры сеанса рубануть.
Делаю тестовый запрос, где просто выборка полей из документа "где" и пара условий. Полные права - мгновенно, пользователь с RLS 12 секунд. У RLS на скуле портяна в 580 строк, где делается 3 миллиона чтений и полторы тысячи записи, для запроса Админа же 160 чтений всего.
Добавляю нескольо прав пользователю, в какой-то момент тестовый зпрос начинает выполняться за полсекунды и 300 тысяч чтений из базы. Возвращаю исходные права - всё ещё за полсекунды. При этом, все действия пользователя как тормозили так и тормозят.
Чищу статистику, ребилд индексов, очистка кеша планов запроса. Тестовый запрос опять выполняется за 12 секунд.
Вывод - скуль не правильно строит план запроса по умолчанию. Что делать - Х.З.
5 Raxla
 
20.12.19
14:33
>В типовых предусмотрен режим повышения привилегий в сеансе, чтобы запрос получил все данные без ограничений и на максимальной при этом скорости.

Запрос динамического списка выполняется в фоне, мне нужно повышать привилегии в самом запросе.
6 lodger
 
20.12.19
14:33
(4) можно перестать делать из динамосписка оперативный отчет.
вывалить эти данные в ТабДок или ТЗ, прибить к ним кнопку "обновить". исполнять запросы под привилегиями.
7 Raxla
 
20.12.19
14:35
> можно перестать делать из динамосписка оперативный отчет.
Это не оперативный отчёт, это типовая форма списка, и там нет ничего криминального в коде запроса.
8 Raxla
 
20.12.19
14:37
RLS тоже типовая
9 palsergeich
 
20.12.19
14:38
(4) Нормально скуль план запроса строит. Там просто портянка часто хреновая генерится и скуль делает что может.
Просто нужно рахзобраться с РЛС. Просто там РЛС не только на основную таблицу скорее всего,но и на ссылки в ней (получение представлений) Чем больше ограничений - тем больше таких херовин.
10 palsergeich
 
20.12.19
14:38
(8) Типовая <> оптимальная
11 lodger
 
20.12.19
14:39
(7) да и леший с ним, что типовая. попробуй свести запрос ДС к одной таблице.
(8) никто и не говорил, что рлс из коробки будет летать.
12 Cyberhawk
 
20.12.19
14:39
Что за конфа?
13 Raxla
 
20.12.19
14:42
(7) да и леший с ним, что типовая. попробуй свести запрос ДС к одной таблице.
Если вы не читали, то я повторюсь: "Делаю тестовый запрос, где просто выборка полей из документа "где" и пара условий. Полные права - мгновенно, пользователь с RLS 12 секунд." До чего ещё надо свести такой запрос?
14 Raxla
 
20.12.19
14:42
>Что за конфа?
1с Университет
15 Fragster
 
гуру
20.12.19
14:44
если там свежая бсп, то там есть галочка "не тормозить"
16 Raxla
 
20.12.19
14:49
БСП 3.0.2.233, достаточно свежая? Ща пороюсь.
17 Фрэнки
 
20.12.19
14:54
(16) кстати, по поводу вывода в (4) // Вывод - скуль не правильно строит план запроса по умолчанию.

Это все на серверной базе и поэтому не так легко взять и заменить платформу. А версия платформы какая?
18 Cyberhawk
 
20.12.19
14:55
(16) Переходи на новый РЛС
19 Raxla
 
20.12.19
14:57
>Это все на серверной базе и поэтому не так легко взять и заменить платформу. А версия платформы какая?
Платформу ставили последнюю, это первое что пробовали - никакого эффекта не дало, сейчас 8.3.14.1630
20 Fragster
 
гуру
20.12.19
15:00
после обновления платформы неплохо бы сделать реструктуризацию
21 Fragster
 
гуру
20.12.19
15:00
ну а на скуле - всякие регламенты типа обновления статистики
22 Raxla
 
20.12.19
15:01
> ну а на скуле - всякие регламенты типа обновления статистики
Такое впечатление, что никто нихрена не читает: (4)
"Чищу статистику, ребилд индексов, очистка кеша планов запроса. Тестовый запрос опять выполняется за 12 секунд. "
23 Fragster
 
гуру
20.12.19
15:03
(22) а (20)?
24 Raxla
 
20.12.19
15:05
Да, тестирование и исправление и реструктаризация - проводились.
25 Fragster
 
гуру
20.12.19
17:58
в документации галочка из (15) только к 3.1.2 https://its.1c.ru/db/bsp312doc#content:1976:hdoc
но вроде как она и раньше была (3.1 или даже 3.0), только не выведена в интерфейс.
26 Fragster
 
гуру
20.12.19
17:59
27 Raxla
 
22.12.19
23:41
(26) Спасибо за настройки, у нас нет выбора производительности. Проблема решена: проанализирован план запроса, построены нужные индексы, после этого всё стало норм. Виноваты ОЧЕНЬ кривые руки разработчиков типовой.
28 acht
 
23.12.19
00:31
(27) Разработчик: СГУ-Инфоком
Студенты же писали.
29 Aleksey
 
23.12.19
06:38
(10) когда ктото пишет про тормоза ответ сводиться к двум вариантам
1. Если ты что то дописал - ну так это твой кривой код, из-за него тормозит, смотри как в типовой написано
2. Если ты ничего не дописывал (типовой код от 1С) - ну так код же универсальный, а поэтому не оптимальный. Нужно его полностью переписать
30 Raxla
 
23.12.19
15:14
(29) Тормоза на типовом функционале и нет, его не надо полностью переписывать, там архитектурный просчёт, который очевиден для любого более менее опытного разрабочика: сразу на этапе разработки. Другой вопрос, что поиск таких мест - может быть не очевиден и весьма трудоёмок, потому что когда конфигурация уже написана, то причин может быть море. Собственно целая неделя боданий и ушла только потому, что не предполагались такие детские ошибки и искались серьёзные узкие места.
31 bolero
 
23.12.19
15:56
(26) спасибо, мил человек, что показал кнопку "НЕ ТОРМОЗИТЬ", которую так ждали пользователи, а то бы еще пол-года не увидел

С другой стороны, после ее включения ничего не поменялось.
Хорошенько выждал, пока "Обновление доступа на уровне записей" пройдет до конца по нескольку раз (== сходил на обед). Как до включения, так и после у пользователя один и тот же список "Безналичные платежи" открывается 24 секунды, а у пользователя с полными правами - за пол-секунды.
УТ-11.4.10.89, проблема с тормозами об рельсы в этом месте с самой ранней 11.4.1
32 lodger
 
23.12.19
16:28
(31) насилуй скуль, доп.индексы делай.
33 Fragster
 
гуру
23.12.19
16:35
(31) ну тогда сравнивай запросы в профайлере план выполнения смотри... самый плохой вариант, когда пользователь почему-то решил отсортировать ДС по полю со ссылкой на справочник, на которой наложен RLS. И при этом на основную таблицу тоже наложен RLS.
34 Fragster
 
гуру
23.12.19
16:35
вместо отбора, блеать.
35 Фрэнки
 
23.12.19
16:54
на таком количестве тормозящих релизов можно было бы в тексте RLS разобраться и понять, что надо отключить или изменить
Может получится возвращать ссылки (не реквизиты) без условия RLS, т.к. сами по себе ссылки еще не читаемые данные.