При попытке загрузить или развернуть копию рабочей базы большого объема в файловом формате разработчики часто сталкиваются с сообщением «Недостаточно памяти». Файловый формат 1Cv8.1CD имеет жесткие ограничения по размеру таблиц и адресации оперативной памяти 32-разрядными процессами. Единственным полноценным решением становится запуск базы в клиент-серверном режиме.
Однако включать режим отладки на рабочем сервере 1С с продуктивными базами крайне не рекомендуется. В этой статье мы подробно разберем, как правильно организовать изолированную средой для отладки без затрат на покупку дополнительной лицензии на сервер 1С.
Проанализируем, почему крупная информационная база отказывается работать без сервера базы данных:
.dt массив данных распаковывается, и превышение этого порога вызывает критический сбой.Включение ключа -debug на уровне службы агента сервера 1С активирует режим отладки для всех баз, расположенных на данном кластере. Это приводит к следующим негативным последствиям:
rphost начинает тратить ресурсы на отслеживание точек останова и передачу отладочной информации. В результате у всех пользователей продуктивных баз наблюдаются задержки и «зависания».Рассмотрим наилучший технический способ: создание второго экземпляра (инстанса) службы 1С:Предприятие на том же физическом или виртуальном сервере. Этот вариант не требует покупки дополнительной лицензии на сервер 1С, так как имеющаяся лицензия позволяет запускать несколько экземпляров службы на одном хосте.
Разберем процесс настройки по шагам:
sc.exe или с изменением параметров реестра Windows / конфигурационных файлов Linux.1640 вместо 1540, порт главного менеджера 1641 вместо 1541 и диапазон рабочих процессов 1660:1691 вместо 1560:1591).-debug.Посмотрим на пример команды регистрации второй службы в командной строке Windows:
sc create "1C:Enterprise 8.3 Server Agent (Debug)" binPath= "\"C:\Program Files\1cv8\8.3.23.1688\bin\ragent.exe\" -srvc -agent -usr .\usr1cv8 -pwd \"password\" -port 1640 -ragport 1641 -range 1660:1691 -d \"C:\ProgramData\1C\1Cv8_Debug\" -debug" displayname= "1C:Предприятие 8.3 Сервер (Отладочный)" start= demand
Параметр start= demand позволяет запускать отладочный сервер только тогда, когда это действительно необходимо, и останавливать его по завершении работ для экономии системных ресурсов.
Рассмотрим другие варианты, которые предлагает платформа 1С для задач разработки и тестирования:
ibsrv можно запустить облегченный сервер 1С прямо из командной строки без необходимости полноценной установки службы кластера, что очень удобно для локальной отладки.Таким образом, для безопасной и бюджетной отладки больших баз данных достаточно настроить второй экземпляр службы сервера 1С с ключом -debug на имеющемся оборудовании и перенести тестовую базу на бесплатную СУБД.