Имя: Пароль:
1C
 
Тормоза при выводе СКД
0 bVana
 
27.09.17
21:18
Имеется конфигурация Розница для Украины 1.0.7, серверная, win 2012, sql 2014, 1с 8.3.8.1652 (сменил на 8.3.6.2524).после переустановки сервера 2012 начались тормоза при выводе в СКД отчетов. больше всего отображается на валовой прибыли. на моменте 0% висит около часа. раньше отчет исполнялся минут за 10.
В консоли отчетов сам запрос исполняется за считанные минуты.
менял платформу с 8.3.8.1652 на 8.3.6.2524 (на старом сервере была младшая версия). куда дальше копать? в чем может быть проблема????
1 Лефмихалыч
 
27.09.17
21:45
включи отладку на сервере и выполни замер производительности. Над результатами думай или сюда положи
2 bVana
 
27.09.17
23:34
https://ibb.co/icWiuQ
вот такой результат замера
3 H A D G E H O G s
 
27.09.17
23:53
"на моменте 0% висит около часа. раньше отчет исполнялся минут за 10. " - жесть!
"сам запрос исполняется за считанные минуты." - жесть!
4 H A D G E H O G s
 
28.09.17
00:04
(2) Сервер 1С и сервер SQL - на разных машинах?
5 H A D G E H O G s
 
28.09.17
00:04
(2) Или, хехехе - на разных виртуалках/одном хосте?
6 Fram
 
28.09.17
00:48
(2) а кому вообще нужен отчет из 333 411 строк?
7 Armando
 
28.09.17
01:58
(6) это не количество строк отчета, а количество элементов результата
8 Fram
 
28.09.17
02:42
(7) все равно нехилая портянка получается
9 rphosts
 
28.09.17
07:50
(0) время выполнения многих отчётов зависит от объема данных, поэтому и было 10 минут стало 60 может быть нормой. Также для скд злоезло вычислимые поля обращающиеся для вычисления к общим модулям, а также тащить в качестве результата запроса ссылки без крайней нужды (а потом лезть в разименование при компановке ваще писец)
10 rphosts
 
28.09.17
07:51
(5) ненавижу виртуалке с безграмотными админа и в одном флаконе
11 ildary
 
28.09.17
08:53
(10) при этом от админа как правило слышно "не учи ученого, это не виртуалка тормозит, это ваша 1С такая кривая".
12 rphosts
 
28.09.17
08:55
(11) не обязательно, нам пытались тыкать, что это у нас запросы неоптимальные (в принципе я даже знаю кто из бывших коллег это напел им)
13 ildary
 
28.09.17
08:58
(12) Ну про неоптимальность может быть и правда. Обидно когда речь идет о тормозах вообще всего в виртуалке.
14 rphosts
 
28.09.17
09:06
(13) да но на железаке за 250 тыр летает, а на мегациске(из под EXSI) за 3 ляма временами наступает жуткий писец!
15 Лефмихалыч
 
28.09.17
09:52
(2) Есть подозрение, что это в группировках отчета какие-то ядрёные вычисления для попугайской раскраски строк. Или/и в ресурсах формулы на 100500 строк с применением функций МАССИВ и ВЫБОРКОГДАТОГДА.
Может такое быть?
16 DrShad
 
28.09.17
10:02
сервант тут не причем, ковыряйте отчет
17 bVana
 
28.09.17
12:46
(4) серверы на одном физическом компе, но так было и до переустановки винды
(9) объем базы и наполнение тоже существенно не изменилось  (16) и отчет тоже не изменялся, типовый отчет Оценка Валовой Прибыли
18 rphosts
 
28.09.17
12:52
(17) ну сказок-же не бывает... а под полными правами формируется быстро?
19 bVana
 
28.09.17
12:58
(18) от прав не зависит
20 DrShad
 
28.09.17
13:03
от серванта тоже
21 MrStomak
 
28.09.17
13:04
(0)
" на моменте 0% висит около часа"
Сними с брикпоинта в конфигураторе, а то он у тебя неделю висеть будет
22 MrStomak
 
28.09.17
13:06
Из синопсиса до конца непонятно - сама машина менялась или нет физическая?
23 bVana
 
28.09.17
13:25
(21) посмеялся :)
(22) нет , машина не менялась
24 MrStomak
 
28.09.17
13:45
(23) когда он выводит результат, он совпадает полностью с тем, что выводится в консоли за несколько минут?

Чудес не бывает. Откинуть вообще ситуацию с переустановкой винды и разбираться с проблемой "в консоли отчетов в 10 раз быстрее, чем на базе".

Почти гарантированно проблема будет в том, что из под пользователя заданы тупые группировки, какие-нибудь посекундные в горизонтальную таблицу.

Если всё же совпадение таблиц полное, то попробовать в консоли тоже использовать поэлементный вывод ПроцессорКомпоновки.Следующий(), вместо просто ПроцессорКомпоновки.Вывести(). Если окажется, что разница в нём, то можно начинать пляски с бубнами, переустанавливать видеодрайвера и писать в 1С. Ну или переписать вывод.
25 TormozIT
 
гуру
28.09.17
13:52
Воспользуйся отладкой компоновки https://www.youtube.com/watch?v=0LKGaFo9tXw в подсистеме "Инструменты разработчика".
Начни с анализа результирующего запроса. Добейся чтобы он выполнялся за разумное время. Далее уже разбирайся с самой компоновкой и количеством возвращаемых строк.
26 TormozIT
 
гуру
28.09.17
13:56
Если схема или настройки в готовом виде отсутствуют, то в точке останова сделай снимок компоновки через вычисление

ВнешниеОбработки.Создать("<ПутьКПапкеИР>\ирПортативный.epf", Ложь).От(СхемаКомпоновки, НастройкиКомпоновки)

по аналогии с отладкой запроса https://www.youtube.com/watch?v=hiw_aYVOvFc
27 MrStomak
 
28.09.17
13:56
(25)
"Добейся чтобы он выполнялся за разумное время"

Типовые отчеты переписывать - штука неблагодарная, это потом его всю жизнь поддерживать
28 TormozIT
 
гуру
28.09.17
13:58
(27) Не обязательно менять запрос в схеме. Возможно нужно поменять настройки компоновки или хотя бы локализовать причину  медленного выполнения запроса (техножурнал, план запроса).
29 TormozIT
 
гуру
28.09.17
14:04
Если запрос выполняется намного быстрее вывода отчета, то причина может быть в получении представлений от очень большого количества ссылок, для которых определен обработчик получения представления.
30 MrStomak
 
28.09.17
14:05
(28)
Мне кажется, ты много ожидаешь от человека, который на мисте спрашивает почему долго выполняется отчет, хотя совет, конечно, правильный.

Анализ производительности стоит начинать от целевого времени.
Тут, видимо, пользователей время в 10 минут устраивает.
Замер показал, что 90% тратится на вывод, это явная неадекватная ситуация.

Моё мнение - нужно сначала определить, что там с выводом.
Потом работать с запросом, профайлером и техжурналом.
31 MrStomak
 
28.09.17
14:07
хотя и так понятно, 300000 элементов - это какая-то чушь в отчете
32 TormozIT
 
гуру
28.09.17
14:10
(29) Хотя судя по замеру в (2) обработчиков получения представления нет. Они бы там появились.
300000 = (например) 15000 строк * 20 колонок
Так что не такая уж и нереальная ситуация.
33 MrStomak
 
28.09.17
14:15
(32) По картинке вижу, что начало цикла исполнилось на 1 раз больше, чем конец цикла. Я так понимаю, замер сделан до окончания формирования отчета, т.е. в реальности там может быть сколько угодно элементов.
34 MrStomak
 
28.09.17
14:17
(32) Отчет на 15000 строк - бесполезный, я настаиваю :)
35 TormozIT
 
гуру
28.09.17
14:22
(34) Если отчет формируется для экспорта в другую инфосистему (например EXCEL) для обработки, то вполне нормальная ситуация.
36 TormozIT
 
гуру
28.09.17
14:26
(33) Да. Вероятно, это только начало вывода. Потому начать поиски следует с усиления отбора на отрезке НастрокиКомпоновки->Запрос, т.е. без выборки данных.
37 rphosts
 
28.09.17
14:29
(29) уже писал ему...
38 rphosts
 
28.09.17
14:32
(34) не факт, может он выводит группировки и ему прям из отчёта нужна расшифровка
39 MrStomak
 
28.09.17
14:35
(38) Всего лишь поиском елозить и пейдждауны зажимать на полчаса вместо фильтров и расшифровок, ага.
40 MrStomak
 
28.09.17
14:42
(35)
Или для налоговой, чтобы они в нём закопались и не вылазили.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан