Cfginfo dat что это за файл

Обновлено: 06.07.2024

Анализ причин роста сеансовых данных

Платформа "1С:Предприятие" в своей работе постоянно использует механизм, называемый "сеансовые данные". В этих данных хранится служебная информация, необходимая для работы сеанса "1С:Предприятия". Например, все, что введено в поля ввода на форме, при серверных вызовах сбрасывается в сеансовые данные.

При вызове методов: ПоместитьВоВременноеХранилище, ПоместитьФайл, НачатьПомещениеФайла, значения указанные в параметрах, записываются в сеансовые данные.

При фоновом исполнении отчетов СКД, результат отчета помещается в сеансовые данные, а затем передается в клиентскую часть.

С точки зрения операционной системы, сеансовые данные представляют собой файлы в каталоге …\srvinfo\reg_<номер порта>\snccntx<GUID>.

С точки зрения внутренней структуры - это noSQL база данных (key-value storage).

Особенности работы платформы с сеансовыми данными

За работу с сеансовыми данными отвечает менеджер кластера – rmngr.exe Если в кластере несколько рабочих серверов, то сеансовые данные будут расположены в соответствии с требованиями назначения функциональности.

Если требования не заданы, то сеансовые данные распределятся равномерно по всем рабочим серверам.

Сеансовые данные растут блоками по 64 Мб. Когда заканчивается блок, то менеджер кластера выделяет следующий блок в 64Мб.Блоки большего объема возможны в результате помещения объемных данных во временные хранилища.

Для обеспечения скорости работы, платформа всегда пишет новые данные в конец, аналогично transaction log в СУБД. Таким образом, размер сеансовых данных постоянно растет. Во всем объеме сеансовых данных, существуют как актуальные, так и устаревшие данные. Актуальность данных определяется способом их помещения:

  • Если сеансовые данные помещены из формы и в качестве идентификатора передается идентификатор формы (ЭтаФорма.УникальныйИдентификатор), то данные считаются актуальными, пока открыта форма.
  • Если в качестве идентификатора передан УникальныйИдентификатор, не являющийся уникальным идентификатором формы (Новый УникальныйИдентификатор), то значение перестанет быть актуальным после завершения сеанса пользователя.
  • Если ничего не передано, то значение перестанет быть актуальным при любом следующем серверном вызове.

Перед выделением следующего блока на диске, проверяется, прошло ли 5 секунд с момента выделения предыдущего блока. Если 5 секунд прошло, то запускается "сборщик мусора" (key value garbage collector). Сборщик оценивает процент актуальных сеансовых данных в общем объеме. Если актуальные данные занимают менее 25% от общего объема, то все актуальные данные копируются в новые файлы, а затем все старые файлы сеансовых данных удаляются.


Так как каждый сеанс (клиенты, фоновые задания, web-сервисы) в своей работе постоянно пишет информацию в сеансовые данные, то при большом количестве пользователей, скорость дисковой подсистемы, на которой расположены файлы сеансовых данных, играет очень важную роль. При большом количестве пользователей, рекомендуется располагать файлы сеансовых данных на максимально быстрых дисках. Желательно RAM-drive. Отказоустойчивость дисков не важна, т.к. при потере сеансовых данных, никакой важной информации утеряно не будет.

Следует отметить порядок размещения сеансовых данных. Если поместить во временное хранилище двоичные данные или файл, то эти данные пройдут в качестве потока байт через rphost, затем в rmngr, который сбросит этот поток на диск. Если же, в качестве помещаемого значения, будет выступать коллекция (таблица значений, результат запроса, массив…), то сначала вся эта коллекция разместиться в памяти rphost, а только затем преобразуется в поток байт и будет передана в rmngr.

Размещение сеансовых данных в памяти

При работе кластера "1С:Предприятия", файлы сеансовых данных отображаются в память (mapping). Подробнее см. статью.

За счет данного механизма, процесс работает с файлом как с оперативной памятью. Файл загружается в память не целиком, а только необходимая часть.

Однако, в операционной системе Windows, отображенные в память файлы, влияют на счетчик Memory\Available Mbytes. При сильном росте сеансовых данных можно увидеть следующую картину:


Свободное место на диске, где расположены сеансовые данные, уменьшается синхронно со свободной памятью сервера. На самом деле, если посмотреть данные RamMap то видно, что большая часть оперативной памяти выделена под Mapped File


Размер памяти, указанный в колонке Standby – это неиспользуемая память (фактически свободная). При запросе памяти любым процессом, ему будет выделена память из этой области.

Следует учитывать данную особенность счетчика Memory\Available Mbytes при построении систем мониторинга или приложений, которые опираются на объем доступной оперативной памяти.

Для косвенной оценки эффективности работы операционной системы с сеансовыми данными, можно использовать счетчик Memory\Page Faults/sec, который показывает на сколько часто процессы обращаются за страницами в память, но не находят их там и подгружают с диска.

Если значение данного счетчика велико, то это может свидетельствовать о нехватке оперативной памяти для кэширования в ней сеансовых данных. В этом случае, необходимо принять решение об увеличении оперативной памяти, либо об оптимизации работы приложения с сеансовыми данными.

Проблемы сеансовых данных

Ошибка совместного доступа к файлу snccntx.dat


При появлении данной ошибки необходимо действовать по алгоритму:

1. Проверить права на папку сеансовых данных для пользователя, от которого запущена служба сервера "1С:Предприятия". Должны быть полные права.

2. Открыть на рабочем сервере диспетчер задач, установить видимость колонки "Командная строка"


3. Необходимо найти процессы rmngr.exe с одинаковым значением параметра –pid.


4. Открыть консоль кластера. Развернуть ветку кластера, порт которого соответствует параметру –regport , найденных rmngr.exe с одинаковым значением параметра –pid


5. Сопоставить PID из диспетчера задач с PID в консоли кластера. Тот процесс rmngr.exe, которого нет в консоли – принудительно завершить.

Закончилось место на диске, где расположены сеансовые данные

Необходимо следить за наличием свободного места на диске, где расположены сеансовые данные.

Не следует размещать файлы технологических журналов на одном диске с сеансовыми данными.

Если на диске, где расположены сеансовые данные, закончится место, то картина будет совершенно "апокалиптическая". Менеджер кластера будет постоянно завершаться с формированием дампа. Начнутся сотни попыток запусков рабочих процессов, которые сразу же будут завершаться с ошибками. После того, как на диске появится свободное место, сервер "1С:Предприятия" запустится в нормальном режиме.

Так же, необходимо следить за размером самих сеансовых данных. Если периодически их размер становится существенным, то необходимо обратить на это особое внимание. Следует помнить, что при срабатывании "сборки мусора" необходимо наличие свободного места на диске, в размере 25% от общего объема сеансовых данных. Если этих 25% не будет, то кластер завершит свою работу аварийно.

Изменить расположение сеансовых данных, можно указав параметр –d в строке запуска службы агента сервера.

В данном каталоге, также расположены: реестр кластера, индекс полнотекстового поиска и журнал регистрации.

Влияние циклических ссылок на рост сеансовых данных

Чаще всего при выполнении процедуры ПоместитьВоВременноеХранилище, указывается идентификатор формы (ЭтаФорма.УникальныйИдентификатор). Как написано в документации, при указании идентификатора формы данные перестают считаться актуальными после того как форма будет закрыта.

Однако, если форма содержит в себе циклические ссылки (см. статью), то после закрытия формы она не уничтожается. Это приводит следующим отрицательным эффектам:

  • данные формы остаются в памяти
  • сеансовые данные, выделенные для формы, считаются актуальными, пока не будет завершен сеанс

Чтобы избежать данной ситуации, необходимо исключить все циклические ссылки в форме (см. статью).

Необходимо стараться формировать отчеты СКД в фоновом режиме. Так как результат отчета помещается во временное хранилище фоновым заданием, то после завершения задания данный результат будет считаться неактуальным.

Методика анализа роста сеансовых данных

Сбор данных

Необходимо собрать технологический журнал:

Данный технологический журнал может занимать значительный объем. Поэтому необходимо располагать его на дисках имеющих достаточно свободного пространства, периодически переносить старые файлы журнала на другой диск и там архивировать (сохраняя структуру папок).

После того, как технологический журнал будет собран, необходимо провести "парсинг" и выгрузить его данные в файлы csv формата:

На основании данных, которые собраны в папках rmngr_*, необходимо сформировать csv файл вида:

  • <файл ТЖ> – имя файла технологического журнала,
  • <CallID> – значение свойства CallID,
  • <InBytes> - значение свойства InBytes.

В файле …/rmngr_7188/ 15063011. log есть строка:

Данная строка должна быть преобразована в строку:

Необходимо исключить из итогового файла строки с InBytes=0, т.к. они не представляют интереса, но занимают значительный объем.

На основании данных, которые собраны в папках rphost_*, необходимо сформировать csv файл вида:

  • <процесс>– имя папки рабочего процесса,
  • <файл ТЖ> – имя файла технологического журнала,
  • <t:clientID> – значение свойства t:clientID,
  • <CallID> – значение свойства CallID.

В файле …/ rphost_1352 / 15063011 .log есть строка:

Данная строка должна быть преобразована в строку:

На основании данных, которые собраны в папках rphost_*, необходимо сформировать csv файл вида:

  • <процесс> – имя папки рабочего процесса,
  • <t:clientID> – значение свойства t:clientID,
  • <Usr> – Имя пользователя из свойства Usr.

В файле …/ rphost_1352 /15063011.log есть строка:

Данная строка должна быть преобразована в строку:

В итоге должно получиться 3 файла: scall.csv, call.csv, conn.csv

Пример создания файлов csv, на основании данных технологического журнала, см. в обработке.

Создание базы данных для анализа

Необходимо создать пустую базу данных (MS SQL Server), в которую добавить таблицы:

Затем, в эти таблицы необходимо загрузить данные из соответствующих csv файлов. Сделать это можно с помощью SQL Server Integration Services


После того, как информация будет загружена в таблицы, можно проводить анализ.

Анализ работы с сеансовыми данными

TOP – 10 пользователей в разрезе процессов и времени

Запрос покажет топ-10 пользователей, которые поместили больше всего сеансовых данных в час. Затем необходимо разобраться с самым верхним (в текущем случае):

Т.е. в процессе rphost_1352 за час с 11-00 по 12-00 пользователь с идентификатором 518 записал в сеансовые данные 2 046 616 858 байт (2Гб).

Далее, необходимо найти все идентификаторы вызовов, которые записывал сеанс 518:

image alt text

За несколько лет сначала вынужденного, а потом и вполне занимательного администрирования 1С у меня накопился набор решений под большинство особенностей продукта. Предлагаю отложить в сторону высокие материи про кластеры и тюнинг SQL, и перетряхнуть запасы скриптов и механизмов, которые облегчают жизнь с 1С.

Будут как простые инструменты создания новых пользователей и мониторинга "все ли вышли из базы", так и более изощренные интерфейсы проверки целостности базы и ее перемещения.

Как у большинства сложных приложений, у 1С через некоторое время работы вылезают странные ошибки, и возникает порой необъяснимое поведение. Специальные люди по 1С советуют в таких случаях почистить кэш.

Если запустить 1С с параметром /ClearCache, то будут очищены только клиент-серверные запросы. Локальные метаданные останутся и их нужно удалять отдельно на уровне файлов и папок. Эти данные хранятся в профиле пользователя, в папках с длинными названиями из GUID баз данных. Если баз на сервере немного, то такой кэш нетрудно удалить руками. Но если БД исчисляется десятками, то чистке вручную вы не обрадуетесь.

image alt text

В подобных ситуациях выручит скрипт на Powershell, который запускается каждый раз при выходе пользователя из системы:

И никаких связанных со старым кэшем проблем.

Для исправления испорченной файловой базы в поставку 1С входит утилита chdbfl.exe, которая просто считывает содержимое базы во временный файл. Если какие-то данные считать не может — пропускает. При этом у нее нет ключей запуска для автоматизации, и проверку приходится запускать вручную.

Вообще, правильнее запускать проверку БД конфигуратором, но этот процесс проходит значительно дольше. Если же использовать только проверку физической целостности средствами chdbfl.exe, то не забывайте делать резервную копию из-за возможной потери данных.

Для баз 8.1 Андрей Скляров создал хороший инструмент Check1CD, с двумя параметрами запуска: "исправлять найденные ошибки" и “путь к базе”.

Но в Check1CD не хватает двух вещей:

Раз есть "хотелка" и немного свободного времени, то почему бы не попробовать решить вопрос самостоятельно?

Доработать код для передачи параметров через ключи командной строки — дело техники.

image alt text

image alt text

С выходом 1С 8.2 возникла проблема — путь к chdbfl менялся с установкой нового релиза. Что ж, дополним скрипт:

Надо сказать, недавно был опубликован исходный код Check1CD. Да, тоже на AutoIT.

Аналогичный механизм можно применять и для автоматического запуска различных регламентных механизмов, где нужно запускать 1С и ждать завершения операции.

При различных регламентных операциях с 1С (ночное обновление конфигурации или бэкап в .dt) важно обеспечить отсутствие подключенных к ней пользователей. Можно конечно запускать 1С: Предприятие с ключом /C ЗавершитьРаботуПользователей, но это не всегда удобно, да и хочется же потом написать личное письмо с рекомендациями по устранению склероза.

Можно использовать штатную возможность подключения к 1С через COMConnector и скрипт на AutoIT. Код написан под 1С 8.1 и позволяет выкинуть пользователей из базы с записью в журнал.

Но операцию иногда нужно проворачивать по просьбе самого пользователя, который запустил "тяжелый" отчет и повесил 1С. Если не хотите решать эти вопросы самостоятельно, то просто выведите любителям “тяжелых” отчётов ярлык на скомпилированный скрипт:

Еще COMConnector помогает проверить наличие обновлений конфигурации, получить какую-то информацию из базы, и автоматизировать заведение пользователей в 1С.

На мой взгляд, создавать новых пользователей 1С должен системный администратор, а не программист 1С. Но последнему нужно сделать процесс максимально простым. Чтобы администратору не приходилось "заглядывать" в каждую базу отдельно, можно использовать еще один скрипт.

Для примера приведу функцию создания пользователей в типовой Бухгалтерии 2.0.

image alt text

Юрлиц развелось слишком много — нужно разбивать на столбцы.

Занятно, но после смены нескольких поколений администраторов в одной компании из далекого прошлого новенькие уже не знали как создать пользователя вручную.

Если нужно перенести базу 1С: Предприятия вместе с ее данными в SQL на другой сервер, то делать это вручную целесообразно только для 1-2 БД.

При большем их числе рутина станет утомительной - лучше воспользоваться скриптом.

image alt text

Список баз для миграции можно брать и из файла, а лог выводить в текстовый файл. Аналогичным образом можно конвертировать несколько десятков баз из файловых в SQL простой выгрузкой-загрузкой в .dt

Конечно, это далеко не все, что можно автоматизировать в связке с 1С. Но разного рода обмены, получение real-time информации из 1С в других приложениях и прочие сценарии не попали в этот обзор из-за узкой направленности и специфики.

Наверняка у вас тоже есть свой набор "ноу хау" для администрирования 1С — будет здорово если поделитесь с коллегами в комментариях.

Скрипты и ноу-хау предоставлены avelor, за что ему огромное спасибо!

В этой статье мы расскажем об ошибке доступа к файлу 1с. Как решить возникшую проблему, что это за баг и еще немного об этом.

Ошибка доступа к файлу 1C 8.3

Нет ни одной программы в современном мире, как бы хороша она не была без ошибок и проблем. Такое случается и с нашим приложением. В ряде случаев виноват в этом криворукий программист. Многие проблемы вы не сможете решить без его участия, но некоторые, вам подсилу и самому.

Ошибка доступа к файлу 1C решение

Причины возникновения

Случается, что люди, которые используют данную прогу сталкиваются с проблемой при запуске программы.

Способы решения

Ошибка доступа к файлу 1C решение

Ошибка при совместном доступе в 1C

Ошибка доступа к файлу 1C решение

Взгляните на права пользователя под которым вы зашли в систему виндоус. У вас должны быть права и на чтение файлов и на запись.

Ошибка доступа к файлу 1C решение

Ошибка доступа к файлу 1C решение

Предупреждения о проблемах вылазят когда возмущается брандмауэр. Это касается сетевых объектов. Антивирусные программы препятствуют нормальной работе.

Открываем брандмауэр и антивирус и ищем в списке блокируемых программ 1С. Удаляем из списка.

Ошибка доступа к файлу 1C решение

Почистите кеш, ошибки также возникают из-за кеша.

Большой шанс появления ошибки, когда два синонимичных приложения запускаются вместе. К примеру, ЗУП и Бухгалтерия. Если запустить по очереди, проблема исчезнет

Дополнительный способ

Путь к имени файла должен быть допустимым в каталоге отчетов: щелкните вкладку «Вывод». Перейдите на вкладку «Параметры вывода». В поле Имя файла убедитесь, что путь действителен.

Сколько дискового пространства доступно для файла: Откройте Windows Explorer. Выберите Локальный диск (буква диска:), на котором хранится отчет. Щелкните правой кнопкой мыши на локальном диске (буква диска:) и нажмите Свойства. Откроется окно свойств. Проверьте доступное свободное пространство на этом локальном диске.

Убедитесь, что у пользователя есть разрешения на доступ к папке IO_Data: Откройте проводник Windows. Щелкните правой кнопкой мыши основную папку выберите «Свойства».

Перейдите на вкладку «Безопасность». Убедитесь, что у пользователя есть полные права на эту папку и все подпапки. Если вы не можете проверить права доступа, обратитесь к администратору.


Возникло ли у вас любопытство, как открыть файл DAT на ПК с Windows 10?

Сегодня в этом руководстве мы рассмотрим, что такое файл DAT и как открыть файлы .DAT на ноутбуках или настольных компьютерах с Windows 10.

Что такое файл .DAT?

Вообще говоря, лучше не вмешиваться в этот тип файла, поскольку он может открыть ящик проблем и ошибок в системе. Некоторые мощные программы, такие как VCDGear или CyberLink PowerDirector, могут иногда сохранять видео или другие файлы в формате .DAT, поскольку дешифровать файлы .DAT сложнее.

Если вы получили файл .DAT в виде вложения из неизвестного электронного письма или из теневого форума в качестве загружаемого файла, то лучше удалить этот файл навсегда, поскольку он может содержать вредоносные программы, вирусы или программы-вымогатели.

Проще говоря, можно сказать, что файлы .DAT являются зашифрованными файлами, которые используются конкретными приложениями и программами для хранения конфиденциальных данных, которые они (программисты или производители) не хотят, чтобы конечный пользователь мог подделать.

Как открыть файлы DAT в Windows 10

Чтобы открыть файл .DAT, вам понадобится расширенный текстовый редактор, такой как Notepad++, который в большинстве случаев может легко обрабатывать файл DAT. Обычно файлы DAT содержат двоичный код или текст, но иногда они могут также содержать аудио или видео файлы.

Поэтому, прежде чем открывать файл DAT, примите обоснованное предположение о том, каким он может быть, а затем откройте его с помощью соответствующего программного обеспечения.

Способ 1: открыть файл DAT с помощью текстового редактора Notepad ++

Если вы думаете или предполагаете, что файл DAT, который вы хотите открыть, содержит тексты (поскольку размер файла .DAT очень мал в килобайтах), то в этом случае лучше всего использовать текстовый редактор. Здесь мы используем текстовый редактор Notepad++, который является бесплатным редактором исходного кода, вы можете использовать любое программное обеспечение для редактирования текста для открытия файлов DAT.

Процесс довольно прост. Узнайте, как открыть файл DAT в Windows 10 с помощью текстового редактора Notepad++:

Шаг (1): Сначала загрузите Notepad++ и установите его на свой компьютер с Windows 10.

Шаг (2): Перейдите к файлу .DAT, который вы хотите открыть, щелкните по нему правой кнопкой мыши и выберите опцию «Открыть с помощью».


Шаг (3): Теперь выберите «Notepad++» из списка и нажмите кнопку «ОК».

Примечание. Вы также можете использовать обычный блокнот, который входит в комплект Windows, но он не всегда работает.

Шаг (4): Если файл DAT содержит простой текст (маловероятно), вы сможете очень легко прочитать содержимое.


Шаг (5): И если файл DAT, который вы только что открыли, полон ссылок NUL или неясных символов, то это означает, что он зашифрован или содержит файл изображений/видео/аудио.


Таким образом, вы можете увидеть, как просто открыть файлы DAT в Windows 10 с помощью текстового редактора.

Способ 2: открыть файлы .DAT с аудио или видео проигрывателем

Перед открытием файла DAT всегда сначала проверяйте размер файла. Это связано с тем, что если размер файла DAT большой (например, 10-15 МБ или сотни МБ), то, скорее всего, это будет аудиофайл или видеофайл. Вы можете легко посмотреть на размер файла .dat, щелкнув по нему правой кнопкой мыши и выбрав « Свойства» .

Итак, после проверки размера файла, если вы предполагаете, что ваш файл может быть аудио или видео, лучше всего открыть их с помощью видеоплеера или аудиоплеера .

  • Чтобы открыть файл DAT, содержащий видеоконтент, щелкните его правой кнопкой мыши и откройте с помощью VLC Media Player или Windows Media Player.
  • Чтобы открыть файл DAT, который содержит музыку или аудиоконтент, щелкните его правой кнопкой мыши, а затем откройте с помощью Groove Music , VLC Media Player или Windows Media Player.

Способ 3: открыть файлы Winmail.dat онлайн

Мы рекомендуем не открывать такие файлы, если полученное вами электронное письмо не было получено от доверенного лица и если оно не было должным образом проверено антивирусным программным обеспечением или программным обеспечением для обеспечения безопасности в Интернете.

Теперь веб-сайт проанализирует файл и покажет вам все, что содержит файл DAT. Вы можете нажать на файлы, чтобы загрузить их на свой компьютер, а затем вы можете открыть его, чтобы увидеть все его содержимое.

Как конвертировать .Dat файлы в другие форматы

Если вы уверены, что файл .DAT содержит, и хотите открыть этот файл DAT на компьютере Windows, то вы можете легко конвертировать файлы DAT в другие форматы. Вот как это сделать:

Важное примечание. Перед выполнением этих шагов создайте резервную копию исходного файла, поскольку преобразование формата файла может привести к его повреждению.

Шаг (1): Сначала щелкните правой кнопкой мыши файл .DAT, а затем выберите параметр «Свойства».


Шаг (2): В разделе имени измените расширение файла с .dat на предпочитаемое:

Шаг (3): После изменения расширения файла, нажмите на кнопку ОК и, если все идет хорошо. файл .dat будет немедленно преобразован в нужный вам формат мультимедиа.

Теперь вы можете использовать преобразованный файл по вашему желанию. Таким образом, вы можете увидеть, как просто конвертировать файл .dat и открывать файлы DAT в операционных системах Windows 10.

Заключение

Файлы .DAT используются различными программами, и обычно очень трудно определить, какое приложение откроет конкретный файл .DAT. Тем не менее, благодаря знаниям, полученным в этом руководстве, мы уверены, что вы сможете расшифровать и открыть файл .DAT в Windows 10 в соответствии с вашими потребностями.

В случае, если у вас есть какие-либо вопросы или предложения относительно расширения файла .DAT и как открыть файл DAT в Windows 10, сообщите нам об этом в комментариях ниже.

Читайте также: