Как выбрать и настроить оптимальный сервер для 1С:Предприятие 8.3 на 5–15 пользователей

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

Развертывание сервера для небольшой компании на 5–15 пользователей — это классическая задача, с которой сталкивается множество системных администраторов и руководителей IT-отделов. Часто здесь совершают две крайности: либо покупают дорогое серверное оборудование корпоративного класса с многоядерными процессорами Intel Xeon и аппаратными RAID-контроллерами, которое простаивает на 95%, либо пытаются запустить систему на старом офисном компьютере, страдая от постоянных зависаний и потери данных. В этой статье мы подробно разберем, как найти золотую середину, сэкономить бюджет и получить молниеносную скорость работы «1С:Предприятие 8.3».

Разбираемся с лицензированием: альтернативы дорогому серверу 1С

Прежде чем приступать к покупке оборудования, необходимо определиться со способом программного развертывания и лицензиями. Покупка стандартной лицензии на сервер «1С:Предприятие» уровня ПРОФ для 5–15 пользователей экономически не всегда целесообразна. Рассмотрим альтернативные, абсолютно легальные варианты, которые помогут сэкономить бюджет:

  1. Лицензия «1С:Сервер МИНИ на 5 подключений». Это полноценный сервер 1С (поддерживает работу как под Windows, так и под Linux, в 32-разрядном и 64-разрядном режимах), но имеющий жесткое лицензионное ограничение: одновременно может быть запущено не более 5 сеансов пользователей в режиме «1С:Предприятие» и дополнительно 1 сеанс в режиме «Конфигуратор». Стоимость такой лицензии в несколько раз ниже стандартной серверной лицензии. Это идеальный вариант для плавного перехода с файлового режима на клиент-серверный.
  2. Автономный сервер 1С. Начиная с версии платформы 8.3.14, в 1С появился компонент «Автономный сервер». Он позволяет запускать до 3 клиентских сеансов с файловой базой данных по протоколу HTTP абсолютно бесплатно, без покупки серверной лицензии 1С. При этом автономный сервер самостоятельно выполняет функции веб-сервера, избавляя вас от необходимости настраивать сторонние веб-службы.
  3. Публикация файловой базы на веб-сервере. Если в компании работают до 5–7 человек, клиент-серверный вариант (SQL) часто вообще не требуется. Достаточно установить и настроить бесплатный веб-сервер (например, Apache) на производительном компьютере и опубликовать туда файловую базу 1С. Пользователи подключаются через «Тонкий клиент» или обычный веб-браузер. Это полностью решает проблему сетевых задержек и блокировок, характерных для общего доступа по протоколу SMB (сетевые папки), и не требует покупки серверной лицензии 1С.

Выбор аппаратного обеспечения (железа) для небольшого сервера

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

Процессор (CPU). Архитектура 1С устроена так, что большинство критически важных операций (проведение документов, расчет себестоимости, построение сложных отчетов) выполняются последовательно, в один поток. Поэтому для 1С главным фактором является однопоточная производительность (тактовая частота на одно ядро). Современный десктопный процессор класса Intel Core i3, Intel Core i5 или AMD Ryzen с базовой частотой от 3.5 ГГц и выше покажет в 1С гораздо большую скорость работы, чем дорогой многоядерный серверный процессор Intel Xeon с базовой частотой 2.1–2.4 ГГц. Для 5–15 пользователей вполне достаточно 4–6 высокочастотных ядер.

Оперативная память (RAM). Для 5 пользователей минимально необходимый объем составляет 16 ГБ. Если же планируется рост компании до 15 человек, а сервер приложений 1С и СУБД будут работать на одном физическом компьютере, лучшим выбором станет объем 32 ГБ. Крайне желательно выбирать платформы, поддерживающие память с коррекцией ошибок — ECC RAM. Это защитит базу данных от повреждения при возникновении случайных микросбоев в микросхемах ОЗУ.

Дисковая подсистема (SSD). Сервер 1С в процессе работы генерирует огромное количество мелких дисковых операций чтения и записи (так называемые операции случайного доступа). Обычные жесткие диски (HDD) категорически не подходят для баз данных, их можно использовать исключительно для хранения архивных копий (бэкапов). Нам понадобятся SSD-накопители:

  1. Откажитесь от медленного интерфейса SATA в пользу современных накопителей NVMe SSD, работающих напрямую через шину PCI Express. Скорость случайного чтения и записи (IOPS) у них выше в разы.
  2. Не используйте дешевые потребительские SSD. СУБД постоянно перезаписывает временные таблицы и файлы транзакций, что быстро израсходует ресурс бытового накопителя. Выбирайте диски корпоративного класса с высоким ресурсом перезаписи (параметр DWPD от 1.0 и выше) и технологией защиты от потери питания (PLP — Power Loss Protection), например, серии Intel/Solidigm D3/D7 или Samsung PM/SM.

RAID-контроллер: аппаратный или программный? В современных реалиях покупка дешевого аппаратного RAID-контроллера без собственного кэша и батарейки (BBU) лишена всякого смысла. Такой контроллер будет искусственно занижать скорость работы SSD-дисков. Для обеспечения отказоустойчивости баз данных на серверах начального уровня под управлением Linux оптимально использовать программный RAID 1 (зеркало) с помощью утилиты mdadm. Программный RAID работает стабильно, прозрачно и позволяет легко перенести диски на другую материнскую плату в случае аварии.

Выбор СУБД: PostgreSQL бесплатная против коммерческой

Если вы решили разворачивать полноценную клиент-серверную архитектуру, в качестве СУБД для малого бизнеса идеально подойдет бесплатная база данных PostgreSQL. Однако здесь есть важный технический нюанс:

Оригинальная (ванильная) версия PostgreSQL, скачанная с официального сайта разработчиков СУБД, не умеет корректно работать с платформой 1С из-за различий в механизмах блокировок и работы со временными таблицами. Нам потребуется специализированная сборка.

Российская компания Postgres Professional выпускает специальные дистрибутивы СУБД, содержащие все необходимые патчи для бесперебойной интеграции с 1С. Сборка Postgres Pro 1C (бесплатная версия) доступна для свободного скачивания и коммерческого использования внутри организации. Покупать коммерческую версию Postgres Pro Standard или Enterprise имеет смысл только тогда, когда вам требуется круглосуточная техническая поддержка от вендора или сертифицированная ФСТЭК версия СУБД.

Развертывание терминального сервера на Linux (Debian/Ubuntu + XRDP)

Автор обсуждаемой темы выбрал экономически выгодный и технически изящный вариант — организацию терминального сервера на базе операционной системы Linux с использованием бесплатного сервера удаленных рабочих столов XRDP. Выясним, какие преимущества и особенности имеет данное решение:

  1. Колоссальная экономия на лицензиях. Использование связки Linux + XRDP позволяет полностью отказаться от дорогостоящих лицензий на Windows Server, а также от лицензий клиентского доступа Windows Server CAL и лицензий на удаленные рабочие столы RDS CAL.
  2. Выбор графического окружения (Desktop Environment). Это важнейший момент для производительности терминального сервера. Популярные современные графические оболочки (такие как GNOME или KDE) потребляют слишком много оперативной памяти и ресурсов процессора на каждый сеанс пользователя. Для терминальной работы 5–15 сотрудников в 1С рекомендуется устанавливать легкие, нетребовательные к ресурсам графические среды — XFCE или MATE.
  3. Проброс ключей защиты. Если вы используете аппаратную защиту 1С (USB-ключи HASP), то при развертывании Linux на виртуальной машине (например, под управлением гипервизора Proxmox) потребуется настроить проброс USB-портов или перейти на использование современных программных лицензий (пин-кодов).

Техническое руководство: базовая оптимизация PostgreSQL и Linux под 1С

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

Рассмотрим по шагам основные параметры оптимизации, которые необходимо внести в конфигурационный файл postgresql.conf (обычно он находится в директории /etc/postgresql/.../main/). Предположим, что наш сервер имеет 32 ГБ оперативной памяти:


# ОЗУ для кэширования данных (рекомендуется 25% от общего объема RAM)
shared_buffers = 8GB

# Память для сортировки запросов (для 1С оптимально от 32MB до 128MB)
work_mem = 64MB

# Память для сервисных задач: создание индексов, очистка (от 512MB до 2GB)
maintenance_work_mem = 1GB

# Ориентир для планировщика о доступном кэше ОС (50-75% от всей RAM)
effective_cache_size = 24GB

# Настройки агрессивного автовакуума для предотвращения раздувания таблиц 1С
autovacuum = on
autovacuum_max_workers = 4
autovacuum_naptime = 20s
autovacuum_vacuum_scale_factor = 0.05
autovacuum_analyze_scale_factor = 0.02

После изменения параметров обязательно перезапустите службу СУБД с помощью команды:

sudo systemctl restart postgresql

Также проанализируем важные настройки самой операционной системы Linux. По умолчанию ядро Linux стремится сбросить неактивные страницы памяти из быстрого ОЗУ в медленный файл подкачки (swap) на диске. Для баз данных это критично и приводит к резкому падению производительности. Настроим агрессивность использования swap. Для этого откроем конфигурационный файл:

sudo nano /etc/sysctl.conf

Добавим в самый конец файла следующую строку, которая велит системе обращаться к файлу подкачки только в самых крайних случаях:

vm.swappiness = 1

Применим изменения без перезагрузки сервера:

sudo sysctl -p

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

sudo apt-get install cpufrequtils

Откроем конфигурационный файл утилиты (если его нет, создадим):

sudo nano /etc/default/cpufrequtils

Впишем туда следующий параметр производительности:

GOVERNOR="performance"

Перезапустим службу для применения настроек:

sudo systemctl restart cpufrequtils

Выполнив эти базовые шаги настройки оборудования, операционной системы и СУБД, мы получим сбалансированный, надежный и невероятно быстрый сервер для «1С:Предприятие 8.3», который обеспечит комфортную работу сотрудников малого бизнеса без лишних финансовых затрат.

← На главную