|
Скорость 82 при записи в РС... | ☑ | ||
---|---|---|---|---|
0
ДенисЧ
06.10.12
✎
12:26
|
Есть УППырище... База объёмная... Провожу РСВ.
Дохожу до места решения СЛУ, там, где она в РС УзлыКорректировкиСтоимостиСписания пишет данные для решения... И натыкаюсь на странный факт... 5000 записей в регистр записываются полторы минуты... Чтоза? Почему так? На сервере памяти много, диски SAS, процы тоже неслабые... А вот такая вот... Куда можно начинать копать? |
|||
40
Fragster
гуру
06.10.12
✎
13:31
|
если свой колонку не добавлять, а основной отор у имеющихся ставить - то код в других местах вооьбще не надо будет менять
|
|||
41
H A D G E H O G s
06.10.12
✎
13:31
|
(39) Это круто. Только причину тормозов не выяснит.
Вернее, все бы было хорошо, если бы не последние строки в (29) |
|||
42
ДенисЧ
06.10.12
✎
13:31
|
(39) Не часто, эт точно... Только если сделать так, то ещё куски придётся дописывать, и не факт, что не пропущу чего-то
|
|||
43
Fragster
гуру
06.10.12
✎
13:31
|
(41) причина - чтение этого регистра в другой странзакции
|
|||
44
vmv
06.10.12
✎
13:31
|
Вброс)
с этим разбухаловом по-моему простая запись в цикле через менеджер записи отработала бы быстрее, чем колбасня с наборами по 5К. Ведь БД пофик на ваши методы, когда идет физическая забись она все эти кучи вынуждена сканить |
|||
45
Fragster
гуру
06.10.12
✎
13:32
|
надо (23)
|
|||
46
ДенисЧ
06.10.12
✎
13:33
|
(43) Ничкто его не читает в этот момент. Это точно.
|
|||
47
H A D G E H O G s
06.10.12
✎
13:34
|
(43) Так. Момент. У него же в одном фоновом эта вещь идет, последовательно. Кто еще читает в другой транзакции?
|
|||
48
Fragster
гуру
06.10.12
✎
13:35
|
(47) да виг знает, кто-то отчет по стоимости впродукции какой-ниьт запустил...
|
|||
49
Fragster
гуру
06.10.12
✎
13:35
|
лил бэкап инкрементальный раз в час
|
|||
50
Fragster
гуру
06.10.12
✎
13:36
|
или дофига чего еще. лично мне в этой ветке интересно (23)
|
|||
51
vmv
06.10.12
✎
13:36
|
наводка
попробуй создавать переменную набора и в цикле, а не использовать объявленную общую перед ним. "чистая" переменная набора никак не будет модифицировать деструкторами и прочими не очевидными сущностями |
|||
52
ДенисЧ
06.10.12
✎
13:36
|
(48) Этот РС ни в каких отчётах не используется. ТОлько для проведения РСВ. А его в базе запускают только 2 человека - я и ГБ. Его на работе нет.
|
|||
53
ДенисЧ
06.10.12
✎
13:37
|
(51) можно попробовать... Когда эта итерация закончится.
|
|||
54
H A D G E H O G s
06.10.12
✎
13:37
|
(50) Надо потестить.
|
|||
55
H A D G E H O G s
06.10.12
✎
13:38
|
Еще хочу у нас опционально запилить в толпе фоновых УдалениеДвижений по твоей идее, а может че придумать аналогичное для ЗаписатьНаСервере(), но там думать надо.
|
|||
56
H A D G E H O G s
06.10.12
✎
13:38
|
У нас 8.2 :-)
|
|||
57
ДенисЧ
06.10.12
✎
13:39
|
Да, 1с 8.2.13.219
|
|||
58
ДенисЧ
06.10.12
✎
13:39
|
Естественно, скуль. 64бит сервер, МССКЛ 2008R2
|
|||
59
Fragster
гуру
06.10.12
✎
13:39
|
(55) если наборов много, то оно в проц сервера 1с упирается, у меня из-за этого все тупило. как сделал 3 "потока", заработало нормально
|
|||
60
H A D G E H O G s
06.10.12
✎
13:40
|
(59) А ЗаписатьНаСервере() не переводил?
|
|||
61
Fragster
гуру
06.10.12
✎
13:40
|
(58) Попробуй 1 набор и не построчно, а Загрузить(Результат.Выбрать). Естесственно, в результат добавить нужные колонки.
|
|||
62
ДенисЧ
06.10.12
✎
13:41
|
(61) я ж говорю. На определённых объёмах (которых у меня в августовском периоде есть) оно просто затыкается.
|
|||
63
H A D G E H O G s
06.10.12
✎
13:43
|
(59)
ПолныеПрава.ЗаписатьНаборЗаписейНаСервере() |
|||
64
H A D G E H O G s
06.10.12
✎
13:43
|
(63) Я вот про эту типовую процедуру
|
|||
65
Fragster
гуру
06.10.12
✎
13:43
|
(62) может оно засвопивается просто? все равно я бы писал не по 5к, а по наборам измерений (по одному значению) и убрал бы цикл 1сный по каждой записи - он тормозит раз в 5
|
|||
66
H A D G E H O G s
06.10.12
✎
13:44
|
(65) Да ну там цикл заполнения вряд ли тормозит, об этом говорит 3 секунды записи последних 5000-х наборов.
|
|||
67
Fragster
гуру
06.10.12
✎
13:44
|
(63) у меня нет такого - у меня адская самописка, в которой работает при этом в центре около 100 юзеров + в филиалах на файловых размером в десятки гигов по 5-10 юзеров... пытаюсь сделать так, чтобы все не умерло, особенно к новому году, когда за декабрь делается треть годового оборота
|
|||
68
Fragster
гуру
06.10.12
✎
13:48
|
а сколько раз повторилась картина как в сабже - быстро, тормозит, совсем тормозит, снова быстро? может вспышки на солнце, реально?
|
|||
69
ДенисЧ
06.10.12
✎
13:50
|
(68) С тех пор как я вставил оный код, чтобы можно было мониторий - практически постоянно.
|
|||
70
Fragster
гуру
06.10.12
✎
13:52
|
(69) вставь задержку в 1 секунду после записи набора, например через вызов веб странички, по последнему образцу из Книга знаний: Перепроведение документов в 1С:Предприятие без блокировки других пользователей
|
|||
71
Fragster
гуру
06.10.12
✎
13:52
|
вдруг какой-нибудь кэш засирается и не успевает освободиться
|
|||
72
Fragster
гуру
06.10.12
✎
13:55
|
ну и (23)
|
|||
73
ДенисЧ
06.10.12
✎
13:57
|
(70) дык там эта пауза есть, наверное... Пока очередные 5000 заполняются. А веб вызвать с сервера не получится, ему никуда ходу нет :-)
|
|||
74
Fragster
гуру
06.10.12
✎
13:58
|
(73) шо, и ИИСа нет?
|
|||
75
ДенисЧ
06.10.12
✎
13:59
|
(74) а назафея он мне на том сервере? Да и вообще в сети?
|
|||
76
Fragster
гуру
06.10.12
✎
13:59
|
просто может не хватает паузы. а веб сервер - потому что не знаю, как сделать на сервере 1с паузу нормально...
|
|||
77
Fragster
гуру
06.10.12
✎
14:00
|
ну, попробуй сделать с загрузкой проца - что-то типа
ЦелевоеВремя = ТекущаяДата()+2 пока ТекущаяДата() < ЦелевоеВремя Цикл ; КонецЦикла; |
|||
78
Fragster
гуру
06.10.12
✎
14:00
|
(77) посмотри, не станет ли "начало тормозов" не в 20к, а позже
|
|||
79
ДенисЧ
06.10.12
✎
14:02
|
попробую, когда эта итерация закончится. Не хочется прерывать, пусть считает пока...
|
|||
80
neckto
06.10.12
✎
14:12
|
(0) Во - первых, судя по картинкам 1,5 минуты пишется 85к записей. Во-вторых, цель какая? Оптимизируешь РСВ? И что, это самое узкое место алгоритма?
|
|||
81
neckto
06.10.12
✎
14:12
|
Глянул свою базу, у меня чуть меньше записей - 70к, РСВ после оптимизации считался 20 минут, имхо +-1.5 минуты не принципиально
|
|||
82
ДенисЧ
06.10.12
✎
14:14
|
(80) Не столько оптимизирую, сколько пытаюсь вообще сделать расчёт...
(81) а покажи мне результат выбрать количество(*) из РегистрНакопления.УчетЗатрат где ПЕРИОД МЕЖДУ НАЧАЛОПЕРИОДА(&НачДата, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонДата, ДЕНЬ) за какой-нибудь средний месяц? |
|||
83
Fragster
гуру
06.10.12
✎
14:18
|
(79) попробуй пилить еще не по 5к, а по изменившемуся значению первого измерения, когда записей больше 5к
|
|||
84
neckto
06.10.12
✎
14:18
|
(82) А что это даст?
|
|||
85
ДенисЧ
06.10.12
✎
14:19
|
(84) сравнить объём расчётов...
|
|||
86
Fragster
гуру
06.10.12
✎
14:19
|
(83)+ естественно, выборка должна быть отсортирована по измерениям в порядке их слдедования в конфигураторе
|
|||
87
ДенисЧ
06.10.12
✎
14:20
|
(83) первое измерение - это аналитикаВидаУчета, а их там всего 3-4...
|
|||
88
Fragster
гуру
06.10.12
✎
14:20
|
(87) тогда по первому и второму...
|
|||
89
Fragster
гуру
06.10.12
✎
14:21
|
и вообще - нет ли там "индексов" и "индексов с доп. упорядочиванием"?
|
|||
90
ДенисЧ
06.10.12
✎
14:21
|
(88) А по первому и второму - доза получится существенно меньше 5000 :-)
|
|||
91
neckto
06.10.12
✎
14:22
|
Для чистоты эксперимента, по той же организации и в том же месяце, где 70к записей в регистре Узлы корректировки, количество записей в рег Учет затрат регл = 5 334 775
|
|||
92
ДенисЧ
06.10.12
✎
14:22
|
(89) Индексы есть. По всем измерениям...
|
|||
93
ДенисЧ
06.10.12
✎
14:22
|
(91) Значит, аналитика менее развёрнутая, чем у нас...
|
|||
94
Fragster
гуру
06.10.12
✎
14:22
|
(92) а запросы, которые их используют, есть?
|
|||
95
Fragster
гуру
06.10.12
✎
14:23
|
жалко, что итерация такая долгая.
|
|||
96
ДенисЧ
06.10.12
✎
14:23
|
(94) а как же. В том же РСВ. Ведь туда данные пишут не для того, чтобы они просто лежали... Они потом активно в решении СЛУ используются
|
|||
97
neckto
06.10.12
✎
14:31
|
Начиная с 1.3.22 это регистр не используется
|
|||
98
neckto
06.10.12
✎
14:37
|
(93) Запрос показал не развернутость аналитики, а количество записей в регистре. Правильно будет сравнивать количество уникальных записей.
|
|||
99
H A D G E H O G s
06.10.12
✎
14:43
|
Скажи это процедуре
РешитьСЛУБезИспользованияВременныхТаблиц ОМ ОбщийМодуль |
|||
100
Нууф-Нууф
06.10.12
✎
14:44
|
100
|
|||
101
H A D G E H O G s
06.10.12
✎
14:45
|
Офигеть, они осилили Гаусса-Зеделя.
Респект таким пацанам! |
|||
102
МуМу
06.10.12
✎
15:04
|
Я так понимаю что каждые 5000 записей отрабатывают с увеличивающимся временем? Судя по скрину (10)
|
|||
103
Fragster
гуру
06.10.12
✎
15:12
|
(102) нет
|
|||
104
kuromanlich
06.10.12
✎
15:36
|
(101) согласись что программировать четкую математиескую логику не так сложно, тем более что данные на входе не меняются, четкае дано, четкое решение, четкий результат
|
|||
105
Fragster
гуру
06.10.12
✎
15:46
|
как там?
|
|||
106
ДенисЧ
06.10.12
✎
16:04
|
(105) плохо. Отвалилось на блокировках :-(
Перезапускаю уже с внесёнными изменениями... Правда, теперь основное время - на распределении косвенных затрат... Продолжаю наблюдение. |
|||
107
ДенисЧ
06.10.12
✎
16:05
|
(102) до определенного момента. Смотри скрин ниже.
|
|||
108
ДенисЧ
06.10.12
✎
16:43
|
хм.. Перезапустил с изменениями - тормозов нет...
ЧОртего знает... |
|||
109
Fragster
гуру
06.10.12
✎
16:51
|
(108) изменения какие? все-все-все?
|
|||
110
ДенисЧ
06.10.12
✎
16:52
|
нет, только паузу...
|
|||
111
ДенисЧ
06.10.12
✎
16:52
|
а, ещё, создание набора в цикле...
|
|||
112
pumbaEO
06.10.12
✎
16:54
|
(111) осталось теперь убарть паузу и перезапустить ...
|
|||
113
pumbaEO
06.10.12
✎
16:54
|
*убрать
|
|||
114
ДенисЧ
06.10.12
✎
17:11
|
(112) Посчитается - презапущу...
|
|||
115
DarKySiK
06.10.12
✎
17:37
|
(114) ну чего там? интересно ж..
|
|||
116
ДенисЧ
06.10.12
✎
17:46
|
(115) читай выше - считает очень долго.
|
|||
117
Torquader
06.10.12
✎
17:50
|
Разное время выполнения одинаковых запросов может быть из-за различия в структуре индексов, если выборка выполняется по различным данным.
А дисковая подсистема у вас исправна - может быть - обращение в одно место диска идёт медленнее, чем в другое ? |
|||
118
ДенисЧ
06.10.12
✎
17:53
|
(117) Насчет дисков - не совем уверен - админ ну прямо как тот студент у доцента... А сам я туда не полезу. Хотя то, что дисковая очередб захлётстывает под 50 - уже о чём-то говорит...
|
|||
119
Fragster
гуру
06.10.12
✎
18:07
|
(118) о_О
|
|||
120
Torquader
06.10.12
✎
18:12
|
(118) Просто я видел диски, которые "очень странно работают" - у них время доступа возрастает в разы, а никаких ошибок в SMART-е не отображается.
Если RAID, то он работает со скоростью самого медленного диска. Хотя, я даже не знаю, как можно реально на системе проверить скорость доступа к диску посекторно без запуска тестов. |
|||
121
Fragster
гуру
06.10.12
✎
19:05
|
(118) 50 - это типа на графике perfmon 50%, или это значение, которое в окошке под графиком справа рисуется?
|
|||
122
ДенисЧ
06.10.12
✎
19:18
|
(121) это типа число. Проценты от единиц я отличаю.
|
|||
123
ДенисЧ
06.10.12
✎
19:19
|
(120) Нет, на дисках с данными - не рейд.
|
|||
124
Fragster
гуру
06.10.12
✎
19:23
|
(122) тогда это ПЦ
|
|||
125
lepesha
06.10.12
✎
19:24
|
(123) Копию базы на рамдрайв или ссд для теста сможешь разместить и проверить для того, чтобы понять, что дело не в железе?
|
|||
126
ДенисЧ
06.10.12
✎
19:28
|
(125) нет. Памяти 32Г, вся забивается скулем и рпхостом.
(124) думаешь, диски дохнут и мне следует от души отпинать админа? |
|||
127
ДенисЧ
06.10.12
✎
19:29
|
Кстати... По статистике скуля, темпдб по уровню использования обгоняет основную базу на 2 порядка...
|
|||
128
Fragster
гуру
06.10.12
✎
19:32
|
(127) а он у тебя не на быстрых дисках, чтоли?
|
|||
129
Fragster
гуру
06.10.12
✎
19:33
|
(126) ну, я ЕНИП больше 12 не видел- и тогда это было очень много одновременных запросов
|
|||
130
ДенисЧ
06.10.12
✎
19:35
|
(128) на SAS. Вроде достаточно быстрые выбирали.
|
|||
131
Fragster
гуру
06.10.12
✎
19:38
|
а там на самом сервере дефрагментация не крутится или что еще крутое?
|
|||
132
ДенисЧ
06.10.12
✎
19:43
|
нет
|
|||
133
Fragster
гуру
06.10.12
✎
19:48
|
(132) т.е. всю загрузку дает скуль?
|
|||
134
Fragster
гуру
06.10.12
✎
19:48
|
кстати, физически скуль и 1с сервер на одной машине?
|
|||
135
Fragster
гуру
06.10.12
✎
19:50
|
если есть доступ до сервака, посмотри process explorer'ом кто дает основную нагрузку на диск. вполне может быть, что это сервер 1с свопится, если это одна машина, так как скуль все сожрал
|
|||
136
shuhard
06.10.12
✎
19:54
|
(130) ты бы выложил кривые монитора производительности на http://3nity.ru/viewforum.php?f=40&sid=9d0a13fba905d6e5c06476de83dd4c29
вдруг симптомы типовые ? |
|||
137
ДенисЧ
06.10.12
✎
20:09
|
(133) сутя по всему - да. (все - это перфмон)
(134) да (136) скуль память уграничен, основную память жрут рпхосты. (136) хм.... Их поймать надо ещё :-) А за ссылку спасибо, буду ловить и шотить |
|||
138
shuhard
06.10.12
✎
20:40
|
(137)[скуль память уграничен, основную память жрут рпхосты. ]
ээ а сколько же ты памяти отдал сиквелу и не свопингует ли последний ? |
|||
139
ДенисЧ
06.10.12
✎
20:54
|
(138) гигов 20 отдал, не пожалел... При размере базы в 40.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |