Имя: Пароль:
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, т.к. сами по себе ссылки еще не читаемые данные.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан