Как собрать и настроить сервер 1С для микро-конторы: выбираем между Windows 11, SQL Express и PostgreSQL

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

Введение: анализируем исходную задачу

Рассмотрим типичную ситуацию: нам необходимо собрать компактный, но производительный сервер 1С для микро-предприятия на 3–5 рабочих мест. В качестве аппаратной базы мы используем современный процессор уровня Intel Core i5 (например, 10400 с 6 ядрами и 12 потоками), 32 Гб оперативной памяти и скоростные NVMe накопители (например, Samsung 970 EVO Plus). Архитектура системы будет включать в себя 1С:Сервер МИНИ, СУБД и, в перспективе, веб-сервер для удаленной работы.

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

Выбор операционной системы: подойдет ли Windows 11 для сервера?

Сперва проанализируем вопрос выбора операционной системы. Исторически администраторы предпочитают использовать серверные версии Windows (Windows Server 2019/2022) или надежные дистрибутивы Linux. Однако в условиях экономии бюджета для малого бизнеса часто рассматриваются десктопные решения, такие как Windows 10 или Windows 11.

Платформа 1С:Предприятие официально поддерживает Windows 11 начиная с релизов 8.3.20 и выше. Как показывает практика, никакого отторжения или критичных багов при использовании клиентской и серверной части 1С на этой ОС не наблюдается. Если ваше железо совместимо с Windows 11, мы смело можем использовать её.

Важный нюанс при настройке Веб-сервера: Поскольку в будущем планируется публикация баз через веб-сервер для доступа на выезде, мы должны учитывать ограничения десктопных ОС. Встроенный в Windows веб-сервер IIS (Internet Information Services) в клиентских версиях имеет жесткие лимиты на количество одновременных подключений и сетевых потоков. Если пользователи начнут активно формировать тяжелые отчеты или открывать несколько вкладок в браузере, соединения могут начать сбрасываться.

Чтобы избежать этой проблемы, развернем в качестве веб-сервера Apache. Он абсолютно бесплатен и не ограничивается ядром десктопной Windows по количеству сетевых коннектов, обеспечивая более стабильную работу мобильных клиентов и веб-клиентов 1С.

Выбор СУБД: скрытые проблемы и ограничения MS SQL Express

Перейдем к самому важному этапу — выбору Системы Управления Базами Данных (СУБД). Чаще всего для микро-контор по умолчанию устанавливают бесплатный MS SQL Express. Он прост в администрировании, привычен и работает "из коробки". Все знают о его главном ограничении — максимальный размер базы данных не может превышать 10 Гб (без учета логов транзакций). Для небольшой компании этого лимита может хватить на многие годы ведения учета.

Однако давайте посмотрим глубже и проанализируем, как MS SQL Express использует аппаратные ресурсы нашего сервера:

  1. Жесткий лимит оперативной памяти: Бесплатная редакция SQL Express искусственно ограничена использованием не более 1 Гб оперативной памяти на буферный кэш для каждого экземпляра. В нашей сборке установлено 32 Гб ОЗУ, но СУБД просто не сможет их задействовать!
  2. Ограничение по процессору: SQL Express использует вычислительную мощность не более чем 1 физического сокета (или ограничение в 4 ядра). Наш 12-поточный процессор будет простаивать в сложных запросах.

Что происходит, когда 1С пытается выполнить сложную сортировку, объединение таблиц или построить массивный отчет, а СУБД упирается в 1 Гб ОЗУ? SQL Server начинает агрессивно сбрасывать данные из памяти на накопитель, активно используя временную базу tempdb и файл подкачки.

Износ SSD накопителей из-за лимитов ОЗУ

Разберем подробнее, к чему приводит постоянное обращение к накопителю. В нашей системе установлены быстрые NVMe-диски Samsung 970 EVO Plus. Благодаря их огромной скорости (чтение до 3500 МБ/с), пользователи 1С могут даже не заметить, что серверу не хватает оперативной памяти — система визуально будет "летать".

Но эта скорость дается высокой ценой. Постоянная перезапись временных данных из-за нехватки кэша в ОЗУ ведет к эффекту Write Amplification (усилению записи). Это означает, что сервер будет постоянно "насиловать" SSD, что приведет к катастрофически быстрому исчерпанию ресурса ячеек памяти (лимита TBW). В итоге дорогой накопитель может выйти из строя за год-два.

Если мы все же решаем остаться на MS SQL Express, нам необходимо принять меры безопасности:

  1. Физически разнести файлы основной базы данных (mdf/ldf) и временной базы tempdb на разные накопители.
  2. Регулярно мониторить "здоровье" SSD (процент износа) с помощью специализированных утилит.

PostgreSQL как полноценная замена без ограничений

В качестве альтернативы мы можем использовать PostgreSQL. Это мощная и полностью бесплатная СУБД уровня Enterprise. В отличие от SQL Express, "Слон" (неофициальное название PostgreSQL) не имеет искусственных ограничений: он задействует все 32 Гб ОЗУ и все ядра процессора без остатка, а размер базы данных может достигать терабайтов.

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

Чтобы заставить PostgreSQL работать быстро в связке с 1С, нам необходимо выполнить его базовый тюнинг — отредактировать конфигурационный файл postgresql.conf. Проанализируем пример настройки, который позволит СУБД корректно использовать наши 32 Гб оперативной памяти:


# Пример базовой оптимизации postgresql.conf для работы с 1С
# Отключаем синхронную запись на диск для ускорения работы (снижает надежность при сбое питания, нужен ИБП)
synchronous_commit = off

# Отключаем параметры, мешающие работе платформы 1С
row_security = off
standard_conforming_strings = off
escape_string_warning = off

# Выделяем память под кэш СУБД (обычно 25% от всего объема ОЗУ сервера)
# На сервере 32 Гб, выделим 8 Гб
shared_buffers = 8GB

# Указываем СУБД объем памяти, доступный ОС для дискового кэширования
effective_cache_size = 24GB

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

Особенности лицензирования 1С:Сервер МИНИ

Наконец, рассмотрим программное ограничение платформы 1С. Для нашего микро-сервера планируется использование лицензии 1С:Сервер МИНИ на 5 подключений. Это отличное бюджетное решение для малого бизнеса, но мы должны четко понимать математику сеансов 1С.

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

  1. Первый пользователь открывает базу в режиме "Предприятие" (минус 1 сеанс).
  2. Второй пользователь открывает базу в режиме "Предприятие" (минус 1 сеанс).
  3. Третий пользователь (администратор) заходит в режиме Конфигуратора, чтобы доработать печатную форму (минус 1 сеанс).
  4. В этот момент в базе срабатывают фоновые РегламентныеЗадания (например, автоматическая загрузка курсов валют, обмен с банком или проверка почты). Платформа выделяет под каждое фоновое задание отдельный системный сеанс! (минус 1-2 сеанса).

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

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

Подводим итоги развертывания

Мы подробно проанализировали процесс настройки сервера 1С для микро-компании. Windows 11 является вполне пригодной системой, но требует использования стороннего веб-сервера для стабильной сетевой работы. Если мы используем бесплатный MS SQL Express, нам необходимо внимательно следить за износом SSD дисков из-за жесткого ограничения СУБД по оперативной памяти в 1 Гб. Если же мы хотим задействовать все ресурсы мощного современного железа — лучшим решением будет переход на PostgreSQL с последующей ручной настройкой конфигурационных файлов. И не забываем правильно управлять регламентными заданиями, чтобы уместиться в жесткие лимиты лицензии 1С:Сервер МИНИ.

← На главную