Имя: Пароль:
1C
1С v8
УПП 1.3.112.3 Платформа 8.2.19.90 зависание на 1,5 часа при отмене проведения
0 Флориан
 
08.11.18
12:58
УПП 1.3.112.3  Платформа 8.2.19.90 зависание на 1,5 часа при отмене проведения документа "Начисление заплаты работникам организаций"- зависает не всегда - периодически, т.е. в большинстве случаев распроводится за 10-15 сек. В документе около 700 строк. Когда было больше 1000 рекомендовали сделать меньше 100. Глянул процедуру

Процедура ОбработкаУдаленияПроведения(Отказ)
    
    Движения.ОсновныеНачисленияРаботниковОрганизаций.мВыполнятьВспомогательныеРасчеты = Истина;
    
    Для Каждого Набор Из Движения Цикл
        Если мНеуправляемыеДвижения.Найти(ТипЗнч(Набор)) = Неопределено Тогда
            Набор.Очистить();
            Набор.Записать();
        КонецЕсли;
    КонецЦикла
    
КонецПроцедуры // ОбработкаУдаленияПроведения()

Но что тут можно сделать? Или это проблема в платформе?
1 Флориан
 
08.11.18
13:25
Собираюсь отдать задачу на аутсорс - они собираются делать замеры производительности - просто толку их делать - если это проблема не постоянная, а периодическая? И скорее всего просто глюк платформы.
2 Cyberhawk
 
08.11.18
13:31
Долгие запросы к СУБД хотя бы посмотрел бы
3 Cyberhawk
 
08.11.18
13:31
И настрой ТЖ на сбор долгих
4 Cyberhawk
 
08.11.18
13:32
В момент зависания посмотреть, какой код выполняется (замером или остановкой)
5 Фрэнки
 
08.11.18
13:38
(1) скорей всего есть некий код, который в модулях наборов записей, т.к. мы наблюдаем здесь УПП, то и по подписке может висеть куча кода. Где-то там и будут лежать возможно некорректные данные.

Если база не слишком огромная, то можно самим прогнать какие-то тесты с исправлением битых ссылок и тому подобных
6 Cyberhawk
 
08.11.18
13:40
Самое-то главное не озвучено - чем заканчивается зависание. Если успехом, то всегда можно поставить точку останова и выловить стек вызовов. По крайней мере будет сразу видно, что затык в прикладном коде или не в нем.
7 Фрэнки
 
08.11.18
13:41
(0) какие-то отличия есть между документами за 10-15 секунд и зависающими или это один и тот же документ-объект, который или виснет или нет
8 Фрэнки
 
08.11.18
13:43
(6) успех там тоже может быть разный, согласен - даже если сеанс продолжает работать, но результат операции может быть разный.
9 bolobol
 
08.11.18
14:22
Кеш почистить уже предлагали?
10 Has
 
08.11.18
14:32
(0) есть зависимость от пользователя?
11 dmpl
 
08.11.18
14:39
(0) Может взаимоблокировки?
12 Симпатяга
 
08.11.18
14:40
(5) все верно. у данного регистра Модуль набора записей.
13 Симпатяга
 
08.11.18
14:41
на 700+ строк)))
14 Маленький Вопросик
 
08.11.18
14:44
(0) это нормально. я бы пересоздал базу - выгрузил в дт и загрузил обратно...

уработана она у вас
15 Cyberhawk
 
08.11.18
14:49
Пипец советчик одним постом выше )
16 Маленький Вопросик
 
08.11.18
14:52
(15) по опыту неоднократного среза - отмена движений розничных отчетов - ускорило значительно.

(0) сделай так и проверь скорость распроведения
17 bolobol
 
08.11.18
14:59
Пересчёт итогов ещё помогает. Если скуль - выгрузка/загрузка дт в новую базу - точно снесёт ошибки скуля. Ну и сам скуль на какие-то статистики опирается, но чтоб на полтора часа...
18 Флориан
 
08.11.18
15:42
(6) после зависания все нормально отрабатывает - документ распроводится
Всем спасибо за советы - все учту и возьму в разработку
19 Флориан
 
08.11.18
15:57
(14) это часов 18 на выгрузку и и столько же на загрузку, а ТИИ не поможет? там вроде можно прерывать через 1 час
20 dmpl
 
08.11.18
17:25
(17) Правильно уже посоветовали: надо технологический журнал настраивать на отлов долгих запросов. Если проблема на стороне SQL - в журнале будет очень интересно. Заодно может еще какие мысли по оптимизации появятся.
21 Вафель
 
08.11.18
17:27
не постгре случайно?
22 Маленький Вопросик
 
08.11.18
17:27
Размер базы напиши какой?
23 Флориан
 
08.11.18
17:33
(22) 154 ГБ
24 Флориан
 
08.11.18
17:33
(21) MS SQL 2016
25 Фрэнки
 
08.11.18
17:33
(21) угу. на старой платформе и на старой версии СУБД, скорей всего. А перед очисткой наборов записей регистров какой-то убойный код на запросах по регистрам сведений без подчинения регистраторам. Вот и виснет при некоторых сочетаниях условий. Но на самом деле нужно по коду смотреть. У меня сейчас УПП нет, так что и бегло посмотреть на код не получится.
26 Фрэнки
 
08.11.18
17:34
(24) красиво. А что 1С платформу не обновляешь?
27 Вафель
 
08.11.18
17:35
(26) но зачем для упп?
28 Фрэнки
 
08.11.18
17:35
(27) 8.3.10 в сочетании с MS SQL 2016 быстрая
29 Фрэнки
 
08.11.18
17:38
но при замене 8.2.19 на 8.3.10 там конвертация на уровне конфигуратора делается, насколько я помню. Это тестить нужно, проскочит база такой переход или нет. Все-таки 154 гб не такая уж и ерунда
30 Флориан
 
08.11.18
17:55
(25) Есть без подчинения регистратору "РегистрСведений.ДоначисленияСотрудникам" - судя по журналу на нем и зависает, только где в коде чистка его происходит не нашел - глобальный поиск не дал результатов
31 dmpl
 
08.11.18
18:51
(25) ГрафикиРаботыПоВидамВремени там часто тормозит. Ибо в модуле набора записей этого регистра куча кода и не самых легких запросов.
32 dmpl
 
08.11.18
18:53
(30) Включаешь серверную отладку и делаешь замер производительности. Глобальный поиск не нужен.
33 Cyberhawk
 
08.11.18
19:53
(27) SSL из коробки чтоб работал, например
34 Bober
 
08.11.18
20:55
(0) обслуживание СУБД проводится?
35 ILM
 
гуру
08.11.18
21:13
Вы старые начисления перепроводить не будете? Почистите индивидуальные графики за прошлые года. База станет полегче.
36 Флориан
 
09.11.18
09:30
(34) перестроение индексов и обновление статистики - да
37 Маленький Вопросик
 
09.11.18
09:50
(36) запусти выгрузку загрузку - при твоем объеме - это часов 5-6 в обе стороны.
38 Флориан
 
09.11.18
10:33
(37) идея конечно хорошая если на 100% быть уверенным что даст результат, можно конечно выйти в выходной и крутануть так базу, в принципе база на ССД и может быть не так догло и за 6 часов уложиться, но все же
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан