Какие есть идеи - "Как ускорить отмену проведения документа"? #746953


#0 by Fergus
Всем привет. Как обычно в пт занимаемся оптимизацией 1С. Есть документы, которые генерирует по 20-30 тысяс проводок. Само проведение оптимизировали, записывая проводки порциями, но вот отмена проведения занимает капец время. При чем всегда разное. Что испробововали: 1. Проводить отмену проведения вне транзакций 2. Отключать итоги, делать отмену проведения, включать итоги (неодназначный результат, больше сомнения вызывает вклоткл итогов, база большая, и постоянно вклвыкл итоги накладно) 3. Управляемые блокировки (пока тестим) Есть идеи? Заранее спасибо...
#0 by Fergus
Всем привет. Как обычно в пт занимаемся оптимизацией 1С. Есть документы, которые генерирует по 20-30 тысяс проводок. Само проведение оптимизировали, записывая проводки порциями, но вот отмена проведения занимает капец время. При чем всегда разное. Что испробововали: 1. Проводить отмену проведения вне транзакций 2. Отключать итоги, делать отмену проведения, включать итоги (неодназначный результат, больше сомнения вызывает вклоткл итогов, база большая, и постоянно вклвыкл итоги накладно) 3. Управляемые блокировки (пока тестим) Есть идеи? Заранее спасибо...
#1 by 1Сергей
начать с пункта 3.
#2 by Fergus
все таки хотелось бы ускорения, а конфликты блокировки были бы отсечены
#3 by kosts
Вариант для экспериментов: Запись в режиме Обмен=Истина. И удаление движений своим алгоритмом.
#4 by MSOliver
1 Не удалять движения при отмене проведения 2 Получить набор записей с отбором по регистратору 3 очистить набор 4 записать набор.
#5 by MSOliver
Хотя по логике вещей п.1 делает п.2,3,4
#6 by mistеr
Отказаться от документов, "которые генерирует по 20-30 тысяс проводок", и спроектировать правильно не предлагать?
#7 by ДенисЧ
Правильно! Давайте откажемся от документа РСВ в УПП, например! А то что он кучи проводок генерит, это же неправильно...
#8 by mistеr
Не слышал, чтобы кто-то жаловался на долгую *отмену* РСВ. И то, РСВ можно выполнять (и отменять) по частям. Так что все предусмотрено. Там у ТС явно чего-то лишнего наворотили. Может так "обмен" пытаются делать.
#9 by ДенисЧ
Отменять? По частям?
#10 by mistеr
По операциям. Не знал?
#11 by Armando
У нас такая же проблема(( Есть документ, который в конце месяца генерит до 500 тыс проводок. Отмена проведения это ппц. Мало того, что память жрет, еще и выполняется долго, и эскалация блокировок включается.
#12 by Fergus
ниче там не предусмотрено. вообще мне кажется в 1С больше г..на, только что беседовали с коллегами по sap, те поржали от души, когда мы им сказали, что в 1С есть ограничение на кол-во записей в таб. доке (9999) и на кол-во записей в регистре (99999). резюмировали: 1С - для EPR систем еще расти и расти, лучше не жлобиться и купить норм. забугор прогу, которая веками оттачивали. Че думаете? Идти к начальству с предложением :))
#13 by ЧеловекДуши
Напиши свой блек ждек и шлюх. 30 000 проводок, разбросай на 1000 документов :) т.е. есть документ Владелец и будут еще документы, которые подчинены владельцу и формируется автоматически, так же и проводятся из основного документа.
#14 by ЧеловекДуши
Количество записей в таблице "99 999". Количества записей в Регистре, нет :)
#15 by mistеr
Что делает док, если не секрет?
#16 by Fergus
супер, "раскидайте 30 000 проводок по 1000 документам", а когда откроешь карточка счета бухи аху, там же мля 1000 док, не говоря уже о размере базы и т.д., и т.п. Хотя признаюсь често была такая мысль - но главный спец наш сказал вы аху что ли! давайте думайте дальше...
#17 by mistеr
И весь процесс будет занимать раза в 3 больше времени.
#18 by mistеr
Вообще не в кассу. Я тоже могу пойти к бывшим коллегам ораклистам и у нас найдется 100500 причин поржать над тем, какое 1С тормозное УГ. (Что, кстати, раньше и делали.) Но это никак не относится к обсуждаемой теме. Как и ограничения в ТЧ.
#19 by mistеr
Профилировать запросы пробовали?
#20 by Лефмихалыч
ограничение по числу строк на порядок шире - 99999, про регистр вранье - нет такого ограничения ни на сам регистр, ни на набор записей.
#21 by Лефмихалыч
Что конкретно больше всего времени занимает? подписки/обработчики при отмене проведения пустые что ли все?
#22 by Fergus
как говорится "безграничен только космос" - а на регистры есть ограничения. Можно запихать туда ярды записей, затем спокойно увольняться - система намертво встанет, при проведениеотмене проведения документа получим сообщение: # Идет третий этап завершения продолжения окончания установки Microsoft Office 2000. Подождите!
#23 by Fergus
больше всего времени занимает "ОТМЕНА проведения документа", с "проведением документа" слава аллаху разобрались (летает)
#24 by Лефмихалыч
при отмене проведения что-то делается вашим кодом? Или обработчик при отмене проведения пустой и подписок нет?
#25 by Cyberhawk
замер времени выполнения кода с топ10 жирных строчек кода в студию
#26 by Fergus
при отмене проведения ничего не делается, подписок нет
#27 by H A D G E H O G s
Весело тут у вас. Автору - уволится и идти в САП.
#28 by floody
Откуда мы знаем, может у вас железо УГ. А вообще, оптимизация должна начинаться с перехода на упр. блокировки.
#29 by Лефмихалыч
какой регистр дольше всего очищается?
#30 by Лефмихалыч
оптимизация должна начинаться с идентификации проблемы
#31 by Гёдза
на таком наборе будет эскалация (от 20 тыщ записей). Только частями.
#32 by Гёдза
Говорят, что у 1с есть оптимизированная запись, которая перезаписывает и перерасчитывает только измененные записи
#33 by H A D G E H O G s
вы стебаетесь штоле? Автор не то, что ТЖ не собрал, профайлер не запустил. Он даже не озвучил, типовая это конфа или нет.
#34 by Гёдза
Что ты хочешь увидеть в ТЖ?
#35 by Serg_1960
Ты не ответил на Попробуй ответить - вопрос сам собой отпадёт.
#36 by Fergus
Железо Intel(r) Xeon(r) EU-1240 v2 3.40ghz Ozu - 16 Gb запись идет только в регистр бухгалтерии, все остальное мы уже и так упростили и перенесли логику в др. документы. Фактически мы разобрали документ, регистры накопления записываются в др, здесь идет запись только для бухов.
#37 by floody
Т.е. по вашему для описания серверного железа достаточно указать модель процессора и количество оперативки? А кстати, "капец время" это сколько?
#38 by Fergus
меня умиляют ваши слова. какая разница типовая или нет? в нашей конторе кредо - нам пох... кто и когда ставил 1С, типовая или нет. мы просто делаем свою работу. замеры и тж есть - не криворукие же в конце концов. Вы еще спросите а делаем ли мы бэкапы. что вы хотите увидеть в ТЖ?
#39 by mistеr
На скуле профилировали?
#40 by Гёдза
Кстати эскалация на управляемых хуже чем не обычных. На обычных продолжает работать, на управляемых ставится в очередь. На обычных можно настроить размер до эскалации, на управляемых - нет
#41 by Fergus
извините, забыл написать - цвет системного блока - черный. капец время - это может быть и 30 мин и 20, и даже час. Причем один и тот же документ может выдавать разное время. Настройки скуля и состояние сервера мониторим постоянно, но адских всплесков чтениязаписи на хард, или нехватку памяти нету. ТИИБ, обновление статистики, и бла-бла-бла делаем. Профайл - смотрим ужо с утро, что там 1С выдает охрененную запрос к sql, но в принципе сам запрос логичен.
#42 by piter3
автор,а мы чем-то обязаны Вам?не можете пользоваться не надо
#43 by vhl
ssd поставьте :)
#44 by floody
30 тыс проводок удаляются час? не, гебят, продолжайте и дальше думать, что у вас все настроено 146% идеально, и все проблемы от УГ1С
#45 by vhl
а ты пробовал удалить 30 тыс проводок?
#46 by Serg_1960
"там 1С выдает охрененную запрос к sql, но в принципе сам запрос логичен." - сорри, не понял. Для удаления записей из регистра - запрос? Сорри, не понял А сколько занимает времени банальное "создать набор записей; установить отбор по регистратору; удалить набор"?
#47 by Fergus
??? вы не обязаны мне ничем, я даже вас не знаю ??? я даже не понял суть вашей претензии. Это форум, где я спросил "а есть идеи" - если есть, и он будет полезным, я буду вам благодарен, если нет...помалкивайте
#48 by Гёдза
Основное время занимает не удаление, а пересчет итогов
#49 by Serg_1960
(не в тему) Есть отложенное проведение документов - почему бы не создать отложенное отмену проведения? :)
#50 by piter3
дома женой будешь командывать ок.
#51 by Fergus
в точку. в принципе если установить итоги выкл, то результат приемлемый от 2 мин до 5 мин на каждый док, но вот не задача, отчеты не пашут, надо обратно вкл итоги, тут 1С начинает пересчет итогов от рождества христова до текущего месяца. А доки дергать туда-сюда могут несколько пользователей, при этом получается остальные сидят без дела. Итоги то выкл, отчеты не пашут, др доки где задействованы обращение к вирт табл тоже.
#52 by rs_trade
8.2 или 8.3?
#53 by Fergus
хорошо, мне не трудно покомандывать вашей ЖЕНОЙ. адрес и тел на лычко. :) шучу. хороших выходных вам и вашей семье.
#54 by Fergus
8.1
#55 by Гёдза
Отложенное проведение используете? Начинайте
#56 by floody
Так проведение у них летает.
#57 by Гёдза
в 8.2 вроде нет оптимизированной записи регистров
#58 by itlikbez
Остается только оптимизация регистров.
#59 by floody
Это ваша статья?
#60 by Гёдза
Оптимизация регистра бухгалтерии? )))
#61 by Лефмихалыч
отмена вне транзакции + управляемые блокировки + сделать что-то с консерваторией, чтобы отменять надо было не часто
#62 by Лефмихалыч
кроме того, на сервере БД надо замеры провести, чтобы понять, что там с дисковой подсистемой в момент отмены происходит. Может достаточно перенести таблицы РБ на отдельный раздел (или отдельный и более быстрый)
#63 by HIDDEN MESSAGE
#64 by Гёдза
Отмена вне транзакции - это как?
#65 by Fergus
не наша статья, но и ее мы тоже прочитали, сделали выводы. 1. Ставить монопольно систему - не выход, остальные че должны сидеть курить бамбук 2. Про вклвыкл итоги мы уже проверяли - результат неоднозначный 3. Управляемые блокировки - неясно еще, может то, а может и не то. Вывод один: надо как-то уменьшить время отмены проведения документа, что однозначна решит и проблему блокировок
#66 by Гёдза
у вас только один выход - отмена в очереди
#67 by Лефмихалыч
это кодом
#68 by Гёдза
Запись набора вроде автоматом транзакцию поднимает
#69 by Лефмихалыч
управляемые блокировки уменьшат время. Но для этого вам придется из каменного века выползти -
#70 by asady
а зачем надо отменять проведение? может быть тупо перезаписать старый НЗ новым
#71 by Fergus
запись отмены проведения документа кодом
#72 by Гёдза
Как упр блокировки уменьшат время?
#73 by Гёдза
покажите мне этот код, где отмена будет ВНЕ транзакции
#74 by Лефмихалыч
результат будет отличным от , если новый набор - это старый с добавлением новых строк в конец. Любые другие изменения приведут сначала к удалению всего старого набора, потом записи нового
#75 by rs_trade
А для чего они отменяют проведение? Правят и перепроводят?
#76 by Fergus
а что в 8.3 или 8.2 стало быстрее проводиться/отменяться "документы-крокоменты-гигатоныпроводок"
#77 by Лефмихалыч
>>
#78 by Fergus
точняк
#79 by Лефмихалыч
управляемых блокировок в 8.1 нет и многое таки стало быстрее
#80 by rs_trade
Обновиться не хотите? Все таки последние версии побыстрее стали.
#81 by Гёдза
там запись, а не отмена. И не ВНЕ транзакции, а маленькими трагзакциями
#82 by Fergus
это еще клиенту надо объяснять. Вы и сами знаете, когда конфига отработана годами, начальство не любит менять проверенный механизм на неизвестный новый - это время, деньги. Тем более вопрос довольно "узкий" есть один нехороший документ, который надо оптимизировать и ради него отваливать кучу денег на новое ПО - это не решение...
#83 by mistеr
О, наконец-то соизволил назвать причину - обновление итогов. Можно было и пораньше. Отключать итоги совсем не нужно, границу итогов для чего придумали?
#84 by rs_trade
в 8.3 у программиста больше штатных возможностей для оптимизации производительности
#85 by asady
постепенно до народа стало доходить почему в буржуйских системах нет работы задним числом
#86 by Fergus
поясните вашу мысль "отключать итоги не нужно, границу итогов для чего придумали"?
#87 by Fergus
не согласен, буржуи тоже этим балуются
#88 by asady
это уже влияние наших засланцев
#89 by Fergus
1. снизили количество проводок в документе до 10 000 записей и уже стало лучше. отмена проведения идет до 5 мин. 2. развернули на др. машине помощнее, та же байда :) интересно, до какого значения количество проводок мы дойдем, чтобы получить приемлемый результат? какие ставки господа???
#90 by floody
в 8.1 _есть_ упр. блокировки
#91 by Гёдза
на 8.3 однако значительно ускорили запись массивных наборов, правда мелкие чуть хуже стали
#92 by H A D G E H O G s
Я правильно понял, что проблема в запросе ?
#93 by Fergus
МодульПриложения    90    КонецПроцедуры    10    0,000027    28,35     РегистрБухгалтерии.Хозрасчетный    8    Если ОбменДанными.Загрузка Тогда    1    0,000022    22,43     РегистрБухгалтерии.Хозрасчетный    12    Если Количество>0 Тогда    1    0,000007    6,85     РегистрБухгалтерии.Хозрасчетный    4    Если Отказ Тогда    1    0,000003    2,80     РегистрБухгалтерии.Хозрасчетный    15    Возврат;    1    0,000002    2,49     РегистрБухгалтерии.Хозрасчетный    59    КонецПроцедуры    1    0,000002    1,56     РегистрБухгалтерии.Хозрасчетный    6    КонецЕсли;    1    0,000001    0,93     РегистрБухгалтерии.Хозрасчетный    10    КонецЕсли;    1    0,000001    0,93 замеры неутешительны
#94 by Fergus
предпоследнее значение (где 0.00002) - чистое время, последнее значение %Время(чистое)
#95 by H A D G E H O G s
Что именно тебя неутешает?
#96 by Fergus
санкции против России - что же еще :) Это замер при отмене проведения документа с 36482 проводками - глянь какие красивые секунды, все быстро, и четко
#97 by Fergus
пошли пить пиво и есть пиццу, всех с выходными, потом отпишусь, как че решим...
#98 by H A D G E H O G s
Я не сомневался в вас. Захватите с собой САПеров, поржете над 1С. гыгыгы
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С