|
Проведение РТУ в УТ 10.3 стало 3 минуты! ↓ (Волшебник 29.01.2024 11:23) |
☑ | ||
---|---|---|---|---|
0
legggga
28.01.24
✎
16:45
|
Доброго дня. Анамнез - база Ут 10.3 с дописками и доками с 2010 года работает под sql 2019, mdf файл за годы распух до 600 Гб. Приняли решение (без меня) выгрузить базу в дт и загрузить назад чтобы таким путем ее чуть уменьшить. Сказано-сделано. Размер базы уменьшился почти вдвое. Далее был выполнен план обслуживания в sql - пересоздание индексов, статистика. После запуска сверили итоги по складским остаткам, взаиморасчетам и прочему все норм. Документ РТУ проводится 200 секунд. Это если в базе кто-то один, если несколько естественно валятся блокировки пока у кого висит документ. Замер производительности в 1с показывает основное торможение на СтрокаДвижения.НаборЗаписей.Записать(); .
Сервер в этот момент не загружен, кроме очереди диска которая поднимается до 35. Диск SSD Intel севрерный судя по его утилите чувствует себя прекрасно. Был проведен эксперимент тот файл дт что был выгружен был загружен на другом абсолютно новом сервере - там диск нвме 990 самсунг очередь до 20 и проведение 50 секунд. Что я пробовал - тестирование через Конфигуратор, chdsk в sql ничего не нашел, бекап средствами sql. |
|||
1
PR
28.01.24
✎
16:46
|
Продолжай информировать нас
|
|||
2
mikecool
28.01.24
✎
16:47
|
анамнез ни о чем
|
|||
3
legggga
28.01.24
✎
16:47
|
Информирую), хотелось бы конечно каких-то идей что еще сделать)
|
|||
4
legggga
28.01.24
✎
16:47
|
Какие нужны подробности? Это было кратко)
|
|||
5
mikecool
28.01.24
✎
16:51
|
запускай техжурнал, потом думай
|
|||
6
Гена
28.01.24
✎
16:57
|
Проверим. Временно отключите партионный учёт на копии. Как теперь проводится реализация?
|
|||
7
legggga
28.01.24
✎
16:54
|
(6) Я так понимаю отключить в базе Списывать партии при проведении документов?
|
|||
8
Гена
28.01.24
✎
16:58
|
(7) Вам виднее, у меня УТ нет. Но опция по названию похожа на ту, что нам нужна.
Нам надо провести док без двиганья партий. |
|||
9
legggga
28.01.24
✎
16:59
|
(6) Эксперименты провожу на другом сервере, более мощном. На нем при стоящей галочке документ из двух позиций проводится 20 сек. при отключенной 10.
|
|||
10
legggga
28.01.24
✎
17:00
|
(6) Чтобы не выглядело как в пределах нормы. Копия этой же базы от ноября 23 года развернута - в ней рту проводятся около 2 сек без влияния галочки. Только что проверил
|
|||
11
Гена
28.01.24
✎
17:01
|
(9) Нужна рабочая база или её копия. Там, где 3 минуты. В смысле проведения, а не то, что кто-то мог подумать...
|
|||
12
Hmster
28.01.24
✎
17:04
|
даже 10 сек это очень много, с другой стороны у тебя может быть несколько тысяч строк в документе
Тебе бы посмотреть сколько по времени каждый регистр записывается, можешь хотя бы обработкой прочитать и записать каждый регистр в документе и замерить время? Сколько записей в наборе? |
|||
13
Гена
28.01.24
✎
17:04
|
(10) Хорошо. Значит дело не в железе, а в партиях.
Хайли лайкли есть минусовые остатки. По памяти там есть функционал квадратичных отклонений, который при нахождении отрицательного числа идёт вразнос и даже постепенно выходит на ошибку переполнения секстиллионных чисел, не говоря уж про тормоза. |
|||
14
runuts
28.01.24
✎
17:10
|
"Операции" - "Управление итогами" по какую дату рассчитаны итоги?
|
|||
15
legggga
28.01.24
✎
17:11
|
К сожалению тот сервак где было 3 минуты разобрали для ТО. Это скриншот замера производительности при включенных партиях. Итоги на 1 января
https://ru.paste.pics/QAFT9 |
|||
16
Hmster
28.01.24
✎
17:12
|
(12) т.е. или один регистр поплыл или все. могли еще со статистикой начудить
|
|||
17
legggga
28.01.24
✎
17:14
|
Глупый вопрос задам - после переноса на этот сервер план обслуживания в sql не запускал, стоит? будет ли влияние?
|
|||
18
Мимохожий Однако
28.01.24
✎
17:18
|
(17) Запусти - узнаешь
|
|||
19
legggga
28.01.24
✎
17:38
|
Запустил, как закончится, запущу еще раз из Конфигуратора все тестирования
|
|||
20
d4rkmesa
28.01.24
✎
17:54
|
(17) Разумеется, статистику стоит обновлять как можно чаще.
|
|||
21
vis
28.01.24
✎
18:07
|
Просвятите - базы размером в 600 Гб сейчас нормально выгружаются в .DT и загружаются обратно ?
|
|||
22
legggga
28.01.24
✎
18:25
|
(21) бывает норм, бывает пишет что загружены не все данные, потом проверяешь вроде норм)
|
|||
23
Garykom
28.01.24
✎
20:05
|
(21) Зависит от кучи всего
Например у меня на домашнем компе сначала загружались/выгружались подобного размера нормально Затем непонятно почему начали глючить - пришлось переустановить винду и прочее - снова стало нормально |
|||
24
Garykom
28.01.24
✎
20:07
|
(23)+ У меня как понял были проблемы с
«Lock pages in memory» (блокировку страниц в памяти) для пользователя, от которого запущена служба Microsoft SQL Server |
|||
25
Инстанс
28.01.24
✎
21:11
|
(17) Ну я бы не стал особо надеяться на план обслуживания. Тут скорее план запроса надо курить
|
|||
26
legggga
28.01.24
✎
21:20
|
(25) план ничего и не дал(. Вопрос в том что конфа ноябрьская и текущая не отличаются, там код быстро отрабатывает а тут нет. Сейчас запустил тестирование из конфигуратора, вдруг поможет
|
|||
27
Инстанс
28.01.24
✎
21:33
|
ну у тебя история транзакций не висит? восстановил в скуле без хвостов?
|
|||
28
Инстанс
28.01.24
✎
21:41
|
Может, тебе сделать Перенос данных в новую базу после поломки старой. Инфы мало.
|
|||
29
legggga
28.01.24
✎
21:48
|
(27) история транзакций не висит - что имеется ввиду?
|
|||
30
legggga
28.01.24
✎
21:50
|
(28) и перенос сделать такой базы - задачка не слабая, они еще и работают 24на7
|
|||
31
Инстанс
28.01.24
✎
21:50
|
(29) Да я про своё подумал. На всякий случай спросил.
|
|||
32
Инстанс
28.01.24
✎
21:53
|
РТУ до сих пор висит? План запроса ничего не показал?
|
|||
33
legggga
28.01.24
✎
21:55
|
(32) пока жду что закончится тис и буду пробовать, в первый раз не уверен что оно доделалось корректно, честно сказать вторые сутки уже не соображаю нифига
|
|||
34
legggga
28.01.24
✎
22:16
|
есть мутное подозрение на какой ПКО, что в нем поменять чтобы конфа заставила его реорганизоваться?
|
|||
35
ptiz
28.01.24
✎
22:30
|
(0) Что-то не сходится. Как с таким тормозным проведением документов смогли нарастить базу до сотен гигов?
Какие таблицы самые большие в базе? |
|||
36
Инстанс
28.01.24
✎
22:34
|
(35) Там вроде фишка, что после перезагрузки стало тормозить
|
|||
37
Инстанс
28.01.24
✎
22:35
|
Вообще-то после перезагрузки летать должно, а тут наоборот. Непонятно. Матан пока непонятен.
|
|||
38
ptiz
28.01.24
✎
22:35
|
Хотя если раньше 2 сек было...
Смотреть отладчиком базу, где быстро и базу, где медленно. И сравнивать. |
|||
39
ptiz
28.01.24
✎
22:38
|
И на всякий случай проверить минимальные и максимальные периоды движений в регистрах накопления.
|
|||
40
Инстанс
28.01.24
✎
22:38
|
Ну по чесноку — проведение РТУ. Отлаживаешь запрос. Берёшь всё запросы в консоль какую. Выполняешь. Если собирать надо запрос, собирай. Консолей много. Замеры делай. Найди узкое место. Выясни.
|
|||
41
Инстанс
28.01.24
✎
22:39
|
Пока ничего не понятно
|
|||
42
legggga
28.01.24
✎
22:45
|
(38) проходил отладчиком насколько ума хватило, в "быстрой" базе СтрокаДвижения.НаборЗаписей.Записать() - 0.9 сек, в медленной - 6 сек.
|
|||
43
legggga
28.01.24
✎
22:49
|
(40) про отладить запрос - не ко мне я не программист все же(( плюс пролжает быть непонятно если запросы одинаковые в базах откуда разница,
|
|||
44
legggga
28.01.24
✎
22:51
|
что-то тис на ПКО подозрительно зависло
|
|||
45
legggga
28.01.24
✎
22:55
|
на проверке логической целостности ПКО зависла
|
|||
46
Инстанс
28.01.24
✎
23:01
|
дтшка сколько весит щас?
|
|||
47
legggga
28.01.24
✎
23:01
|
26
|
|||
48
Инстанс
28.01.24
✎
23:02
|
вернее, скуль. 300 гиг?
|
|||
49
Инстанс
28.01.24
✎
23:04
|
это без логов, триста гиг? суровая база
|
|||
50
legggga
28.01.24
✎
23:04
|
почти 500 мдф
|
|||
51
Инстанс
28.01.24
✎
23:07
|
полтерыча ещё ничего, а то бывают и терабайты. всё жмутся свёртку сделать
|
|||
52
Инстанс
28.01.24
✎
23:09
|
лан, что тебе ТИИ выдаст.
|
|||
53
legggga
28.01.24
✎
23:09
|
Запустил пересчет итогов и реструктуризацию таблиц, жду. Странно что на ПКО зависло, причем тут ваще пко
|
|||
54
Инстанс
28.01.24
✎
23:12
|
Реструктуризация на больших базах вообще можно ночевать на работе. Днями идёт.
|
|||
55
Инстанс
28.01.24
✎
23:12
|
Но у тебя хороший диск.
|
|||
56
Инстанс
28.01.24
✎
23:16
|
Так бы в сиквеле пробежался по размерам таблиц, а то мало ли.
|
|||
57
legggga
28.01.24
✎
23:23
|
(56) каким образом? их там тьма
|
|||
58
Инстанс
28.01.24
✎
23:27
|
(57) На всякий случай. Ждём ТИИ
|
|||
59
legggga
28.01.24
✎
23:31
|
ждем, реструктуризация идет, всякие там любимые объекты доступа документов)
|
|||
60
Admin_Net_1C
29.01.24
✎
06:06
|
самописных индексов в скуле не было?
|
|||
61
Инстанс
29.01.24
✎
06:08
|
Насчёт индексов бы я и сам подумал, но вряд ли. Так-то одно неиндексированное соединение может положить запрос
|
|||
62
legggga
29.01.24
✎
06:52
|
тии зависло на пересчете итогов с ошибкой конфликта блокировки sqk, при этом регламентные задание отключены, откуда конфликт непонятно, проведение рту все также висит(
|
|||
63
legggga
29.01.24
✎
06:56
|
еще странное - при нажатии провести через 2 секунды звездочка * (признак модифицированности) вверху рту исчезает все вроде как должно случиться, но тут начинают крутиться часики секунд 7-8 и опять появляется звездочка и через 2 секунды пропадает. документ проведен. Как будто два раза проводится
|
|||
64
Vstur
29.01.24
✎
08:01
|
(14) вот самый важный вопрос !
очень вероятно, что дело в этом |
|||
65
legggga
29.01.24
✎
09:05
|
(64) итоги на 1 января, а вот проведение по партиям висит еще на 11 году. Однако в копии также, то есть никто не занимался проведением по партиям так как стоит галочка списывать партии при проведении
|
|||
66
MaximSh
29.01.24
✎
09:22
|
(40) запросы тут не причем. У него тормозит запись в какой-то регистр
|
|||
67
Hans
29.01.24
✎
10:01
|
Замеры производительности я так понимаю еще не делали что бы определить что тормозит?
|
|||
68
legggga
29.01.24
✎
11:19
|
(67) если речь о замере из конфигуратора то делал, выше есть скриншот, могу дать подробности
|
|||
69
Волшебник
29.01.24
✎
11:23
|
(15) и где здесь 3 минуты?
|
|||
70
Волшебник
29.01.24
✎
11:24
|
Сервак, где было 3 минуты, уже разобрали.
Теперь 10 сек. Не морочьте людям голову. |
|||
71
legggga
29.01.24
✎
11:32
|
(70) я бы и не морочил, пришлось пересадить их на другой, людям работать надо, но есть зависание при проведении, оно вызывает блокировки так как проводит не один оператор, и такого не было недавно
|
|||
72
Волшебник
29.01.24
✎
12:56
|
(71) Разбирайтесь, чо...
|
|||
73
legggga
29.01.24
✎
13:15
|
||||
74
legggga
29.01.24
✎
13:23
|
то есть главная задержка на записи движений
|
|||
75
Homer
29.01.24
✎
13:32
|
как вариант можно попробовать поменять платформу.
Я лично столкнулся, как после смены платформы с 15 на 17 у меня упала производительность в 100 раз при записи регистра сведений (тестировал на нескольких серверах). Установил 16 и все нормализовалось. |
|||
76
Волшебник
29.01.24
✎
13:34
|
(73) Наверное, 9 раз записываете один и тот же набор
|
|||
77
legggga
29.01.24
✎
13:47
|
Процедура УдалитьДвиженияРегистратора(ДокументОбъект, Отказ) Экспорт
МассивОбрабатываемыхСтрокТаблицыДвижений = Новый Массив(); // получение списка регистров, по которым существуют движения ТаблицаДвижений = ПолныеПрава.ОпределитьНаличиеДвиженийПоРегистратору(ДокументОбъект.Ссылка); ТаблицаДвижений.Колонки.Добавить("НаборЗаписей"); ТаблицаДвижений.Колонки.Добавить("БезусловноеУдаление", Новый ОписаниеТипов("Булево")); Для Каждого СтрокаДвижения ИЗ ТаблицаДвижений Цикл // имя регистра передается как значение, полученное с помощью // функции ПолноеИмя() метаданных регистра ПозицияТочки = Найти(СтрокаДвижения.Имя, "."); ТипРегистра = Лев(СтрокаДвижения.Имя, ПозицияТочки - 1); ИмяРегистра = СокрП(Сред(СтрокаДвижения.Имя, ПозицияТочки + 1)); МассивОбрабатываемыхСтрокТаблицыДвижений.Добавить(СтрокаДвижения); ЕСли ТипРегистра = "РегистрНакопления" Тогда Набор = РегистрыНакопления[ИмяРегистра].СоздатьНаборЗаписей(); ИначеЕсли ТипРегистра = "РегистрСведений" Тогда Набор = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей(); КонецЕсли; Если НЕ ПравоДоступа("Изменение", Набор.Метаданные()) Тогда // отсутствуют права на всю таблицу регистра СообщитьОбОшибке("Нарушение прав доступа", Отказ, СтрокаДвижения.Имя); Возврат; КонецЕсли; Набор.Отбор.Регистратор.Установить(ДокументОбъект.Ссылка); // набор не записывается сразу, чтобы не откатывать транзакцию, если впоследствии // выяснится, что на один из регистров не хватает прав. СтрокаДвижения.НаборЗаписей = Набор; КонецЦикла; Для Каждого СтрокаДвижения ИЗ МассивОбрабатываемыхСтрокТаблицыДвижений Цикл Если СтрокаДвижения.БезусловноеУдаление Тогда ПолныеПрава.ЗаписатьНаборЗаписейНаСервере(СтрокаДвижения.НаборЗаписей, ДокументОбъект.Ссылка); Иначе Попытка СтрокаДвижения.НаборЗаписей.Записать(); Исключение // возможно «сработал» RLS или механизм даты запрета изменения СообщитьОбОшибке(ОписаниеОшибки(), Отказ, СтрокаДвижения.Имя); ВызватьИсключение "Операция не выполнена"; КонецПопытки; КонецЕсли; КонецЦикла; ОчисткаКоллекцииДвиженийДокумента(ДокументОбъект); // Удаление записей регистрации из всех последовательностей УдалитьРегистрациюДокументаВПоследовательностях(ДокументОбъект, Истина); КонецПроцедуры |
|||
78
MaximSh
29.01.24
✎
13:58
|
(77) это типовой код удаления движений при отмене проведения. Лучше позовите программиста.
|
|||
79
legggga
29.01.24
✎
14:01
|
(78) согласен, в доступности нет его, ищу удаленно. Мне непонятно зачем при проведении вызывается процедура отмены проведения
|
|||
80
MaximSh
29.01.24
✎
14:14
|
(79) НО. Раз код 1С не менялся, и, можно ОБЪЕКТИВНЫМИ замерами до и после выгрузки в dt увидеть разницу в быстродействии в разы, то проблема в БД. Итоги, индексы или что-то еще. Может maxdop у вас не 1, но это не на запись влияет
|
|||
81
Волшебник
29.01.24
✎
14:14
|
(80) Расслабьтесь уже. Тут ошибки в программном коде. Многократная запись набора на каждую строку документа. Надо всё удалять и писать заново
|
|||
82
legggga
29.01.24
✎
14:22
|
(81) тогда только один вопрос - конфа с копией через сравнение идентична, в ней проведение 2-3 секунды.
|
|||
83
legggga
29.01.24
✎
14:27
|
(80) я и склоняюсь к тому что что-то с базой. Все мне доступные и понятные действия я сделал, а результата нет. Безусловно вынужденный переезд на другой сервер ускорил процесс, но изначально реально проведение длилось 3 минуты! Но проблема в базе никуда не делась. Не случайно зависает тис я думаю. Только как найти в чем косяк непонятно, вчера ночью оно зависло на ПКО именно.
|
|||
84
H A D G E H O G s
29.01.24
✎
14:27
|
(82) выкладывай dt шник и кидай ссылку на [email protected]. гляну
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |