|
Сократить время загрузки номенклатуры | ☑ | ||
---|---|---|---|---|
0
mcfev
16.04.13
✎
16:31
|
График и время загрузки http://plasmon.rghost.ru/45330010/image.png
В пустую базу УТ грузит 29 000 записей в течении более 2 дней. Транзакция есть. Посоветуйте, что можно сделать? ps на сколько помню происходит загрузки и сохранение всех записей регистра сведений (на графике именно оно и изображено по Y) |
|||
1
butterbean
16.04.13
✎
16:32
|
можно код сюда выложить
|
|||
2
rutony
16.04.13
✎
16:36
|
(0)
Как грузит? В какую УТ? Какая платформа? Какое железо? зы. ну сколько можно такие бестолковые темы создавать... |
|||
3
mcfev
16.04.13
✎
16:39
|
Повторы = 0;
Добавленно = 0; НачатьТранзакцию(); Для Каждого Стр Из Товары Цикл Если ЕстьНоменклатура(Стр.No) Тогда Повторы = Повторы + 1; Иначе ДобавитьЭлемент(Стр, Идентификаторы, ПеременнаяЗаполнятьОписание, НовыйЭлементЦен); Добавленно = Добавленно + 1; КонецЕсли; КонецЦикла; ЗафиксироватьТранзакцию(); Процедура ДобавитьЭлемент(Элемент, Идентификаторы, ПеременнаяЗаполнятьОписание, НовыйЭлементЦен) НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент(); НовыйЭлемент.Артикул = Элемент.No; //также и все остальные значения НовыйЭлемент.Записать(); КонецПроцедуры Товары - ТаблицаЗначений |
|||
4
mcfev
16.04.13
✎
16:42
|
(2) Простите! Просто хотел найти совета в общем, а не в конкртном случае.
Как грузит? - внешняя обработка В какую УТ? - Управление торговлей, редакция 11.1 (11.1.1.5) Какая платформа? - 1С:Предприятие 8.2 (8.2.17.169) Какое железо? - Dual-Core 2.6Ггц, 2 гб оперативной |
|||
5
Нууф-Нууф
16.04.13
✎
16:43
|
что в ЕстьНоменклатура?
|
|||
6
Eugene_life
16.04.13
✎
16:44
|
(0) купи у Мани обработку
|
|||
7
mcfev
16.04.13
✎
16:44
|
(5) Запрос на проверку по артикулу
|
|||
8
hhhh
16.04.13
✎
16:44
|
(4) ну вот это ЕстьНоменклатура() тормозит
надо сразу всю номенклатуру найти в одном запросе, а потом по списку ненайденных добавлять новую. |
|||
9
Aleksey
16.04.13
✎
16:44
|
Вот осталось включить замер производительности и понять что тормозит
|
|||
10
wms
16.04.13
✎
16:45
|
перед записью объекта вначале
обменданными.загрузка=истина; |
|||
11
MORRoz
16.04.13
✎
16:45
|
Чтобы получить совета в общем или конкретном случае - необходимо подробно описать ситуацию.
29 000 записей - это впринципе совсем не много, и должно загружаться за пару минут. Внешняя обработка грузит откуда? Как быстро происходит чтение из источника? Если убрать транзакцию - время изменится? Замер производительности что показывает, на какой процедуре дольше всего происходит выполнение? В файловом/в серверном вариантах есть различия? Загрузка под полными правами? Это минимум информации. |
|||
12
Fragster
гуру
16.04.13
✎
16:47
|
убери транзакцию
|
|||
13
Fragster
гуру
16.04.13
✎
16:48
|
грузи в 4 потока
|
|||
14
Kreont
16.04.13
✎
16:48
|
загружал на днях 5тис. за пару минут, поиск по коду на уникальность, и без транзакций
|
|||
15
MORRoz
16.04.13
✎
16:48
|
Не верю, что даже запрос в цикле с поиском по артикулу может выполняться 2 дня для 29 тыс. строк....
Даже если не запросом, а обходить выборку справочника - должно быть быстрее =) |
|||
16
Fragster
гуру
16.04.13
✎
16:49
|
(15) там накладные расходы на поддержку транзакции, которая все больше и больше
|
|||
17
mcfev
16.04.13
✎
16:52
|
(8) (9) Вот как раз таки по замеру производительность и смотрел, ЕстьНоменклатура() за милисекунды.
А вот ОбщийМодуль.УправлениеДоступомСлужебный.Модуль - НаборЗаписей.Записать() тормозит (представленно на графике по Y) |
|||
18
mcfev
16.04.13
✎
16:53
|
(11) Внешняя обработка грузит откуда? - XML
Как быстро происходит чтение из источника? - минуты 2 Если убрать транзакцию - время изменится? - без транзакции раза в 2 медленнее |
|||
19
Kreont
16.04.13
✎
16:58
|
На время загрузки отключай еще такое:
+из конфигуратора все логирование кроме ошибок +проверь что версионирование не включено +отключить все регл.задание, особенно слияние и построение полнот.поиска |
|||
20
hhhh
16.04.13
✎
16:58
|
(17) тогда (10) читайте.
|
|||
21
ilkoder
16.04.13
✎
17:02
|
(10) +100500
|
|||
22
Fragster
гуру
16.04.13
✎
17:04
|
если RLS есть, то грузить под пользователем с полными правами
|
|||
23
Fragster
гуру
16.04.13
✎
17:04
|
или установитьПривилегированныйРежим какой-нить
|
|||
24
mcfev
16.04.13
✎
17:08
|
(10)(20)(21) "обменданными.загрузка=истина;"
Переменная не определена (обменданными) Можно подробнее |
|||
25
Fragster
гуру
16.04.13
✎
17:09
|
НовыйЭлемент/J,vtyLfyysvb
|
|||
26
wms
16.04.13
✎
17:11
|
Процедура ПередЗаписью(Отказ)
ОбменДанными.Загрузка=истина; конецПроцедуры или в обработке перед объект.ОбменДанными.Загрузка=истина; объект.записать(); |
|||
27
IVT_2009
16.04.13
✎
17:14
|
Попробуйте базу протестировать (проверить целостность и перевыгрузить) , подобного рода фигня была когда была повреждена одна из таблиц. Причем все хорошо было только тормозило на подобного рода операциях.
|
|||
28
Нууф-Нууф
16.04.13
✎
17:16
|
1. загрузить данные в ТЗ.
2. проиндексировать ТЗ 3. выполнить запрос к ТЗ и соединить со справочником номенклатура по артикулу 5. обработать результат, создать номенклатуру при необходимости. |
|||
29
mcfev
16.04.13
✎
17:17
|
(10)(20)(21) + (23)
т.е. объект.ОбменДанными.Загрузка=истина; объект.записать(); + УстановитьПривилегированныйРежим(Истина); сократили время с 55 секунд до 47 секунд за одну запись (( |
|||
30
mcfev
16.04.13
✎
17:18
|
(27) База чистая на старте, а время с каждым разом росло.
|
|||
31
Fragster
гуру
16.04.13
✎
17:19
|
(29) включи отладку на сервере и сделай замер
|
|||
32
mcfev
16.04.13
✎
17:21
|
(31) чего именно замер?
|
|||
33
mcfev
16.04.13
✎
17:21
|
(31) Все тоже самое так и тормозит
|
|||
34
Fragster
гуру
16.04.13
✎
17:23
|
(32) загрузки первой 100 номенклатуры
|
|||
35
Fragster
гуру
16.04.13
✎
17:23
|
и вообще - сделаю удаленно за $$
|
|||
36
Ахиллес
16.04.13
✎
17:24
|
Жесть жестяная. (0) Если используешь транзакции, то их надо фиксировать каждые 100-500 (примерно) записей. Загнать 29 тысяч, а потом всё разом попытаться записать на 2 гигах оперативки... ну ты и садист :-)
|
|||
37
wms
16.04.13
✎
17:25
|
(29)15 % для тебя мало?
арендуй мощный сервак. |
|||
38
palpetrovich
16.04.13
✎
17:26
|
обработка - нетленка небось, почему не пользуешься готовыми ?
|
|||
39
wms
16.04.13
✎
17:26
|
а простая интерактивная запись/gthtpfgbcm номенклатуры не тормозит?
|
|||
40
mcfev
16.04.13
✎
17:26
|
(35) хочу понять "почему", а не результат получить (если уж никак не получится то пусть как будет)
|
|||
41
mcfev
16.04.13
✎
17:27
|
(37) 15% это больше случайность чем реальные цифры
|
|||
42
IVT_2009
16.04.13
✎
17:28
|
Когда приходилось пачками удалять документы (тысячами ) фиксировал транзакцию через каждые 500 записей , иначе был подобный результат. Это правда было на УТ 77
|
|||
43
Ахиллес
16.04.13
✎
17:29
|
(42) А какая разница? Восьмёрка ещё больше памяти жрать будет, так, что 2 дня это чувак ещё легко отделался ;-)
|
|||
44
H A D G E H O G s
16.04.13
✎
17:32
|
Давай коннект, H A D G E H O G s придет на помосчь.
|
|||
45
mcfev
16.04.13
✎
17:32
|
Да я просто хочу понять зачем "ОбщийМодуль.УправлениеДоступомСлужебный.Модуль - НаборЗаписей.Записать()" сначала читает всю номенклатуру а потом (тут же) ее пишет. Именно этот процесс занимает такое количество времени. Остальные несовершенсва кода на замер производительности не влияют.
|
|||
46
mcfev
16.04.13
✎
17:34
|
(40) не мне же ей пользоваться ))
|
|||
47
Fragster
гуру
16.04.13
✎
17:34
|
(45) я думаю, там немного выше по коду написано, почему так
|
|||
48
H A D G E H O G s
16.04.13
✎
17:34
|
Открыл конфу, открыл ОМ ииии, не нашел УправлениеДоступомСлужебный.
Быть может, дело в том, что у меня типовая УПП и в ней нет такого копрокода? |
|||
49
H A D G E H O G s
16.04.13
✎
17:35
|
(45) Счаст я надену телепатический обруч (на пузо) и сразу все тебе объясню.
|
|||
50
mcfev
16.04.13
✎
17:40
|
(48) Управлние торговлей - ОбщиеМодули - УправлениеДоступомСлужебный
(49) Вопрос и был "никто не знает почему/не сталкивался с таким" |
|||
51
H A D G E H O G s
16.04.13
✎
17:43
|
Опять мимо, Акелла.
|
|||
52
H A D G E H O G s
16.04.13
✎
17:45
|
Нет (уже) такого модуля.
Но судя по артефактам в виде закомменченного куска в ОМ СтандартныеПодсистемыПереопределяемый, такой модуль когда-то был. Но нет теперь. Все, не успели. Аля-улю! УТ 10.3.21.2 |
|||
53
arsik
гуру
16.04.13
✎
17:46
|
(52) У него Управление торговлей, редакция 11.1 (11.1.1.5)
|
|||
54
H A D G E H O G s
16.04.13
✎
17:47
|
Да сколько же их!
|
|||
55
mcfev
16.04.13
✎
17:47
|
(52) )))
Кто промахнулся?? |
|||
56
Sammo
16.04.13
✎
17:50
|
Грузить на сервере, без регистрации в планах обменаа в режиме ОбменДанными.Загрузка
|
|||
57
H A D G E H O G s
16.04.13
✎
17:51
|
Брррр, открыл УТ 11.
Конфигурация, созданная на погибель человечества. |
|||
58
arsik
гуру
16.04.13
✎
17:57
|
В стандартной 11.0.9 "УправлениеДоступомСлужебный" нет.
|
|||
59
grayshadow
16.04.13
✎
18:07
|
а что за наборзаписей? какого регистра?
(у меня в УТ 11 7000 ном-ры создаются с 0, без ОбменДанными.Загрузка, за минут 15) |
|||
60
mcfev
17.04.13
✎
11:40
|
(56) "без регистрации в планах обменаа" - это как??
|
|||
61
mcfev
17.04.13
✎
16:04
|
прошу прошения. сейчас поставил везде (у каждого элемента)
объект.ОбменДанными.Загрузка=истина; объект.записать(); и все круто 29 минут. Всем спасибо огромное за помощь! |
|||
62
grayshadow
17.04.13
✎
16:04
|
РегистрСведений.ГруппыЗначенийДоступа
вот эта гадость появилась после обновления на 11.1 отрабатывает, даже если RLS не используется о_О и реально тормозит загрузку |
|||
63
grayshadow
17.04.13
✎
16:05
|
хотя ОбменДанными.Загрузка решает, да:)
|
|||
64
Aleksey
17.04.13
✎
16:16
|
гы, еще одно подтверждения что УТ11 для крупных фирм, :)
|
|||
65
grayshadow
17.04.13
✎
16:25
|
(64) + знающих толк в извращениях:)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |