Что необходимо приобрести для перехода с файлового варианта 1С на серверный 64-битный SQL

Системный администратор 1С v8.3 (Управляемые формы)
← На главную

Переход с файлового варианта на клиент-серверную архитектуру — это важный шаг в развитии информационной системы, особенно когда база начинает «тормозить» из-за возросшего объема данных или интенсивности их обработки. В данной статье мы подробно разберем, какие программные и аппаратные средства потребуются для успешной миграции на 64-разрядный сервер 1С и SQL.

Анализ программных лицензий: Сервер 1С

Первым делом проанализируем потребности в лицензировании самой платформы «1С:Предприятие». Для работы в серверном режиме недостаточно иметь только основную поставку конфигурации. Нам потребуется приобрести отдельную лицензию на сервер 1С.

Рассмотрим два основных варианта:

  1. 1С:Предприятие 8.3. Сервер МИНИ на 5 подключений. Это оптимальный выбор для небольших организаций или отдельных высоконагруженных узлов, где одновременно работают не более 5 пользователей. Важно помнить, что в этом варианте доступно не более одного сеанса в режиме Конфигуратор.
  2. 1С:Предприятие 8.3. Сервер (x86-64). Полноценная 64-разрядная лицензия без ограничения по количеству пользователей (оно будет лимитироваться только клиентскими лицензиями). Этот вариант необходим, если планируется расширение штата или база используется для интенсивных фоновых заданий.

Важное уточнение по легальности: Встречается мнение, что при использовании операционных систем семейства Linux (например, Ubuntu) сервер 1С можно использовать бесплатно. Выясним причину этого заблуждения: технически сервер может запуститься без ключа в определенных режимах, но согласно лицензионному соглашению, коммерческое использование сервера 1С без соответствующей лицензии является нарушением, независимо от используемой ОС.

Выбор системы управления базами данных (СУБД)

Разберем, какой SQL-сервер лучше выбрать под наши задачи. Сервер 1С не хранит данные сам, он выступает посредником между клиентским приложением и СУБД.

Рассмотрим основные доступные варианты:

Клиентские лицензии и ключи защиты

Проанализируем ситуацию с рабочими местами. Если у вас уже есть USB-ключ на одно рабочее место, он продолжит работать. Однако для клиент-серверного варианта общее количество лицензий должно быть не меньше количества одновременно запущенных сеансов. При покупке новых лицензий они, скорее всего, будут электронными (программными). Программные и аппаратные ключи вполне успешно сосуществуют в одной сети при правильной настройке HASP License Manager.

Аппаратные требования к серверу

Посмотрим на минимально рекомендуемую конфигурацию оборудования для комфортной работы. Для серверной 1С критически важна производительность дисковой подсистемы и частота процессора.

Рекомендуемый набор компонентов:

Оптимизация обработки большого потока данных

Рассмотрим специфическую проблему: получение 20 000 QR-кодов с интервалом в 1 секунду. Переход на SQL сам по себе может не решить проблему тормозов, если алгоритм записи останется прежним. В файловом варианте при записи блокируется вся база данных, в серверном — только определенные таблицы, но при такой частоте база будет постоянно находиться в состоянии транзакции.

Проанализируем, как можно оптимизировать этот процесс с помощью кода. Вместо записи каждого кода по отдельности, используем метод накопления данных (батчинг). Создадим массив или таблицу значений в оперативной памяти и будем записывать данные пакетами раз в 30-60 секунд.

Пример логики для накопления данных:


// Создаем структуру для хранения буфера данных в глобальном модуле или через фоновое задание
Перем БуферДанных;

Процедура ПринятьДанныеОтКамеры(НовыйКод)
    Если БуферДанных = Неопределено Тогда
        БуферДанных = Новый Массив;
    КонецЕсли;
    
    БуферДанных.Добавить(НовыйКод);
    
    // Если накопили достаточно или прошло время - записываем
    Если БуферДанных.Количество() >= 1000 Тогда
        ЗаписатьПакетДанных(БуферДанных);
        БуферДанных.Очистить();
    КонецЕсли;
КонецПроцедуры

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

Дополнительные технические приемы

Выясним, какие еще настройки помогут ускорить работу системы после перехода на SQL:

  1. Shared Memory. Если сервер 1С и SQL установлены на одной физической машине, обязательно настроим протокол Shared Memory в консоли SQL Server. Это позволит компонентам общаться через оперативную память, минуя сетевой стек, что даст прирост производительности около 10-15%.
  2. HTTP-сервисы. Для приема данных от камер технического зрения эффективнее использовать встроенные HTTP-сервисы 1С. Они работают быстрее традиционных COM-соединений и потребляют меньше ресурсов сервера.
  3. Регламентные задания. В серверном варианте обслуживание базы (индексация, обновление статистик) ложится на плечи SQL-сервера. Разберем необходимость настройки регулярного Maintenance Plan для MS SQL или аналогичных скриптов для PostgreSQL.

Подводя итог, для перехода вам потребуется: лицензия на сервер 1С (Мини или полная), лицензия на СУБД (или использование бесплатной PostgreSQL), производительное железо с SSD и, что самое важное, пересмотр архитектуры записи данных для исключения постоянных блокировок базы при работе с конвейером маркировки.

← На главную