Пятница, 19.04.2024, 06:39
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Основной » Проблемные ситуации » Утечки памяти
Утечки памяти
vovakorova1976Дата: Среда, 25.01.2023, 05:19 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 12
Статус: Оффлайн
При открытии Динамического списка (в частности регистра сведений) с огромным количеством записей, 1С выбирает всю доступную оперативную память и прекращает работу.



Платформа: 8.3.10.2466
Режим БД: клиент-серверный
Конфигурация. Название: Нетиповая
Конфигурация. Основной режим запуска: Обычное приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим управления блокировкой данных: Управляемый
Конфигурация. Режим совместимости: Версия8_3_9
Конфигурация. Режим использования синхронных вызовов: Использовать
Инструменты разработчика. Версия: Портативный 6.61.1p
Инструменты разработчика. Инструмент: Прочее
Инструменты разработчика. Перехват клавиатурного ввода: Да
Инструменты разработчика. Объекты на сервере: Нет
Инструменты разработчика. Серверный модуль: Нет
Клиент. Приложение: Обычное приложение 64б
Клиент. Проверка модальных вызовов: Нет
Клиент. Язык интерфейса конфигурации: ru
Клиент. Язык интерфейса системы: ru_RU
Клиент. Отладка разрешена: Да
Клиент. Постоянный кэш метаданных: Да
Клиент. ОС: Майкрософт Windows 10 Pro 64-разрядная Русский
Клиент. ОС от имени администратора: Нет
Клиент. ОС Текущая кодовая страница: 866
Клиент. ОС выполнение BAT: Да
Клиент. ОС пинг сервера: 0мс
Прикрепления: 6709326.png (55.0 Kb)
 
tormozitДата: Среда, 25.01.2023, 06:53 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6163
Репутация: 156
Статус: Оффлайн
Запусти отладку и включи замер производительности. Открой в динамическом списке ИР регистр сведений, в котором большое количество строк (желательно 1-5 млн). Передай мне замер производительности, если длительность операции будет значительной.

Если же на таком регистре список откроется быстро, тогда покажи все поля первого (огромного) регистра с типами. Если там есть тип ХранилищеЗначения или Строка(0), то еще нужен размер хранения таблицы в БД. Его можно смотри в "Структура хранения БД".
 
vovakorova1976Дата: Пятница, 27.01.2023, 05:08 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 12
Статус: Оффлайн
Цитата tormozit ()
в котором большое количество строк (желательно 1-5 млн). Передай мне замер производительности, если длительность операции будет значительной.

Внезапно, оказалось, другой регистр даже 21млн строк открылся моментально.
Значит проблема именно с конкретным регистром.

В проблемном 4 249 316 записей, описание полей регистра во вложении.
Кроме "строка(100)" всё остальное ссылки на справочники/документы, даты, булево.
Размер таблицы БД получить немного сложно, если до сих пор надо, запрошу у сисадминов учетные данные к серверу SQL.

ps: Не знаю это баг или только у меня так - если поставить галочку "Показывать размеры", после в диалоге ввода логина/пароля нажать отмена - 1с зависает, в строке состояния пишет "Сбор статистики таблиц". (мимоходом, к делу не относится)
Прикрепления: 4294086.png (67.6 Kb) · 7306646.zip (9.9 Kb)


Сообщение отредактировал vovakorova1976 - Пятница, 27.01.2023, 05:16
 
tormozitДата: Пятница, 27.01.2023, 07:49 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 6163
Репутация: 156
Статус: Оффлайн
В твоем регистре есть поле типа "ДокументСсылка" (имя=ДокОснование), которое порождает неявное соединение со всеми таблицами документов. Думаю что проблема как то связана с ним.
1. Попробуй проверить под пользователем у которого нет права на чтение этого поля.
2. Попробуй выбрать запросом Представление(Регистр.ДокОснование) из всех строк регистра.
В стандартной форме списка этого регистра все поля отображаются?
По зависанию структуры хранения БД нужно создать отдельную заявку.
 
vovakorova1976Дата: Пятница, 27.01.2023, 09:12 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 12
Статус: Оффлайн
>> В твоем регистре есть поле типа "ДокументСсылка" (имя=ДокОснование), которое порождает неявное соединение со всеми таблицами документов. Думаю что проблема как то связана с ним.1. Попробуй проверить под пользователем у которого нет права на чтение этого поля

после ограничения доступа к полю, регистр под пользователем открылся мгновенно (в ИР)!

>>стандартной форме списка этого регистра все поля отображаются?

да, там управляемая форма, но в обычном приложении.

>> Попробуй выбрать запросом Представление(Регистр.ДокОснование) из всех строк регистра.

относительно шустро.



Сообщение отредактировал vovakorova1976 - Пятница, 27.01.2023, 09:28
 
vovakorova1976Дата: Пятница, 27.01.2023, 09:41 | Сообщение # 6
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 12
Статус: Оффлайн
Фактически такой запрос приводит к зависанию (где ДокОснование = ДокументСсылка любого вида).
Хотя странно, тут же нет переполнения памяти все равно.

Прикрепления: 3891333.png (9.3 Kb)


Сообщение отредактировал vovakorova1976 - Пятница, 27.01.2023, 09:43
 
tormozitДата: Пятница, 27.01.2023, 13:31 | Сообщение # 7
Генералиссимус
Группа: Администраторы
Сообщений: 6163
Репутация: 156
Статус: Оффлайн
Цитата vovakorova1976 ()
после ограничения доступа к полю, регистр под пользователем открылся мгновенно
Очень похоже на ошибку платформы.
Проверь еще с включенным доступом к полю в режиме файловой базы, если конечно размер БД позволяет. Если воспроизведется, то проверь еще на более свежих версиях платформы.
Если же в файловую базу загрузить выгрузку базы не получится, то при наличии тестового сервера приложений можо на нем установить более свежую версию платформы и проверить на ней.
Еще есть вероятность что включив техножурнал на сбор запросов длительностью более 2-х секунд, ты сможешь глубже понять причину.
 
Форум » Основной » Проблемные ситуации » Утечки памяти
  • Страница 1 из 1
  • 1
Поиск: