|
Время выполнения запроса в консоли у пользователй с разными правами. | ☑ | ||
---|---|---|---|---|
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, т.к. сами по себе ссылки еще не читаемые данные. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |