|
Ошибка нехватки памяти при построении отчета на СКД | ☑ | ||
---|---|---|---|---|
0
mzelensky
17.08.18
✎
10:54
|
Доброго всем.
Платформа 1С:Предприятие 8.2.19.130 в режиме совместимости с 8.1. Клиент 1С 32 битный Сервер 1С 64 битный Серверная база на скуле. На сервере 128 ГБ оперативки Формирую отчет на СКД - успешно получаю выборку в 240 000 строк. Ничего не меняя запускаю формирование отчета еще раз и система вываливается с нехваткой памяти. Открываю предприятие заново, опять формирую этот отчет точно так же - успешно выводится. Запускаю второй раз - падает с нехваткой памяти. Пробовал делать так - сперва формирую большую выборку на 240 000 (формируется успешно), потом формирую с отборами так, что выборка на 20-50 000 элементов - формируется нормально. Затем снова делаю большую выборку - падает от нехватки памяти! Такое ощущение, что какие-то данные не обнуляются, а накапливаются и приводят к переполнению. Вопрос - почему ВТОРОЙ раз системе не хватает памяти? Куда капать? |
|||
1
mzelensky
17.08.18
✎
10:56
|
Сюда скидывать запрос пока не буду - он довольно большой + конфа не типовая.
|
|||
2
DrShad
17.08.18
✎
11:01
|
капать на голову тому кто писал отчет
|
|||
3
mzelensky
17.08.18
✎
11:20
|
(2) Еще идеи?
|
|||
4
Nikoss
17.08.18
✎
11:22
|
(3) полное обслуживание базы сделай, со стороны SQL
|
|||
5
МешочекЗнаний
17.08.18
✎
11:23
|
(0) Попробовать 1 раз сформировать, закрыть отчёт, а потом 2 раз сформировать .
|
|||
6
mzelensky
17.08.18
✎
11:28
|
(5) Пробовал - на второй раз всегда вылетает
|
|||
7
mzelensky
17.08.18
✎
11:29
|
(4) что имеется ввиду под "Полным" ?
Реиндексация Реструктуризация Проверка на ошибки ? |
|||
8
mzelensky
17.08.18
✎
11:42
|
Было подозрение, что система не очищает временные таблицы. Сделал явную очистку в запросе. Результат тот же.
|
|||
9
Nikoss
17.08.18
✎
11:54
|
(7) про MSSQL не подскажу. Что-то типа - "Почистить базу от всякого дерьма"))
|
|||
10
mzelensky
17.08.18
✎
11:57
|
(9) НУ и как ты советуешь, если сам не понимаешь что именно ты советуешь?
|
|||
11
Nikoss
17.08.18
✎
12:03
|
(10) что значит не понимаю? Я тебе посоветовал сделать полное обслуживание базы средствами SQL. Всё. Это может помочь, а может и не помочь, но все равно лишним не будет.
Как это сделать в MS, уж потрудись посмотреть в интернете. |
|||
12
mzelensky
17.08.18
✎
12:08
|
Получается следующее - когда запускаю первый раз на большую выборку, то процесс выедает 3200 Мб памяти, но при этом заканчивается успешно и выводит отчет. После этого Память так и висит "3200".
Запускаю после этого второй раз - память падает где-то до 1500 и потом нарастает до 2300 примерно и на этой цифре выпадает ошибка нехватки памяти. |
|||
13
mzelensky
17.08.18
✎
12:10
|
(11) Это называется -
- Доктор, у меня болит нога! - Ну вот вам таблеточка от головы. - Но ведь у меня болит не голова, а нога - Ну ничего, хуже точно не будет, а том может и нога пройдет. |
|||
14
Nikoss
17.08.18
✎
12:11
|
(12) ты точно адекватную таблицу выводишь? 32-битный клиент совсем не резиновый.
И да про SQL возможно мимо совет, так как падает именно клиент, на сколько я понимаю. |
|||
15
Вафель
17.08.18
✎
12:11
|
отчет - просто СКД без кода?
|
|||
16
Nikoss
17.08.18
✎
12:14
|
+(14) я понимаю, что вопрос в том почему именно во второй раз идет падение. Но тут скорее всего платформа просто что-то не очищает из памяти, и ничего ты с этим не сделаешь.
|
|||
17
mzelensky
17.08.18
✎
12:14
|
(15) Был код, который запускал формирование СКД.
Ради теста убрал, оставил чистый запрос + типовую кнопку "сформировать" - результат абсолютно тот же. |
|||
18
mzelensky
17.08.18
✎
12:16
|
"Но тут скорее всего платформа просто что-то не очищает из памяти, и ничего ты с этим не сделаешь"
- вот я тоже думаю, не дело ли в "8.2.19.130 в режиме совместимости с 8.1" |
|||
19
Nikoss
17.08.18
✎
12:18
|
(18) тут дело даже не в платформе. Просто у тебя выборка уже на грани максимума по памяти. Ты просто дождешься момент когда в ней будет 300 000 строк и она просто даже с первого раза не будет работать.
|
|||
20
mzelensky
17.08.18
✎
12:21
|
все-равно не ясно. Почему при первой выборке память доходит до 3400, а во второй сыпется на 2300 ?
|
|||
21
kittystark
17.08.18
✎
12:21
|
обновить платформу и запустить клиента х64 ?
|
|||
22
mzelensky
17.08.18
✎
12:22
|
(21) Была такая идея, но это не в ближайшем будущем - много подготовительных работ
|
|||
23
kittystark
17.08.18
✎
12:27
|
(22) помогает!
однако есть обратная сторона - раньше пользователь отваливался на мега отчетах, а сейчас как посмотришь 5 Гб процесс отожрал... 9.5 Гб... рекорд был 14.5 Гб - и это на серваке с 32 Гб оперативки |
|||
24
ildary
17.08.18
✎
12:31
|
(23) простите моё любопытство, но что за данные выводил этот мега-отчёт? Продажи по всем магазинам Магнита в разрезе товаров и документов?
|
|||
25
mzelensky
17.08.18
✎
12:33
|
(24) Информацию по дисконтным картам покупателей + накопления и продажи по ним.
|
|||
26
kittystark
17.08.18
✎
12:38
|
(24) почти угадал :)
по всем товарам / по городам / по всем клиентам: прибыль/количество и в сравнении по годам за 3 года сразу жесть :) |
|||
27
Tonik992
17.08.18
✎
12:40
|
(26) Эксперты в отделе аналитике сидят повидимому.
|
|||
28
Nikoss
17.08.18
✎
12:46
|
(24) тут скорее вопрос, что потом с таким количеством буковИцифор делать в одном месте
|
|||
29
Nikoss
17.08.18
✎
12:48
|
(20) там не так, это ты видишь 2300, а на сомом деле к этим 2300 вмиг 1С пытается добавить, к примеру, еще 2000 и досвидос. То что в диспетчере(ну или где смотришь) посекундно же, а в секунде еще 1000 миллисекунд есть.
|
|||
30
Юрий Юрьевич
17.08.18
✎
12:55
|
в параметрах кластера сервера 1С Предприятия есть Режим распределения нагрузки - Приоритет по памяти или по производительности; как правило приоритет по памяти позволяет вытягивать значительно большие нагрузки. Но это все конечно про 8.3.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |