Рассмотрим типичную ситуацию: нам необходимо собрать компактный, но производительный сервер 1С для микро-предприятия на 3–5 рабочих мест. В качестве аппаратной базы мы используем современный процессор уровня Intel Core i5 (например, 10400 с 6 ядрами и 12 потоками), 32 Гб оперативной памяти и скоростные NVMe накопители (например, Samsung 970 EVO Plus). Архитектура системы будет включать в себя 1С:Сервер МИНИ, СУБД и, в перспективе, веб-сервер для удаленной работы.
Давайте вместе разберем каждый компонент этой связки, проанализируем возможные подводные камни и выясним, как правильно настроить программное обеспечение, чтобы железо работало на 100% своей мощности.
Сперва проанализируем вопрос выбора операционной системы. Исторически администраторы предпочитают использовать серверные версии 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. Он прост в администрировании, привычен и работает "из коробки". Все знают о его главном ограничении — максимальный размер базы данных не может превышать 10 Гб (без учета логов транзакций). Для небольшой компании этого лимита может хватить на многие годы ведения учета.
Однако давайте посмотрим глубже и проанализируем, как MS SQL Express использует аппаратные ресурсы нашего сервера:
Что происходит, когда 1С пытается выполнить сложную сортировку, объединение таблиц или построить массивный отчет, а СУБД упирается в 1 Гб ОЗУ? SQL Server начинает агрессивно сбрасывать данные из памяти на накопитель, активно используя временную базу tempdb и файл подкачки.
Разберем подробнее, к чему приводит постоянное обращение к накопителю. В нашей системе установлены быстрые NVMe-диски Samsung 970 EVO Plus. Благодаря их огромной скорости (чтение до 3500 МБ/с), пользователи 1С могут даже не заметить, что серверу не хватает оперативной памяти — система визуально будет "летать".
Но эта скорость дается высокой ценой. Постоянная перезапись временных данных из-за нехватки кэша в ОЗУ ведет к эффекту Write Amplification (усилению записи). Это означает, что сервер будет постоянно "насиловать" SSD, что приведет к катастрофически быстрому исчерпанию ресурса ячеек памяти (лимита TBW). В итоге дорогой накопитель может выйти из строя за год-два.
Если мы все же решаем остаться на MS SQL Express, нам необходимо принять меры безопасности:
tempdb на разные накопители.В качестве альтернативы мы можем использовать 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С:Сервер МИНИ на 5 подключений. Это отличное бюджетное решение для малого бизнеса, но мы должны четко понимать математику сеансов 1С.
Лимит в 5 подключений означает не количество физических пользователей (покупателей/менеджеров), а количество установленных сеансов с сервером. Разберем по шагам, как быстро съедается этот лимит:
РегламентныеЗадания (например, автоматическая загрузка курсов валют, обмен с банком или проверка почты). Платформа выделяет под каждое фоновое задание отдельный системный сеанс! (минус 1-2 сеанса).В результате, даже если за компьютерами сидят всего 3 человека, лимит сервера МИНИ будет исчерпан, и новый пользователь получит ошибку нехватки лицензий.
Решение: Чтобы минимизировать такие ситуации, нам необходимо зайти в настройки конфигурации и перенести запуск всех тяжелых и частых регламентных заданий на нерабочее время (ночью или рано утром), либо существенно увеличить интервал их выполнения. Это освободит фоновые сеансы и позволит сотрудникам комфортно работать в рамках лицензии.
Мы подробно проанализировали процесс настройки сервера 1С для микро-компании. Windows 11 является вполне пригодной системой, но требует использования стороннего веб-сервера для стабильной сетевой работы. Если мы используем бесплатный MS SQL Express, нам необходимо внимательно следить за износом SSD дисков из-за жесткого ограничения СУБД по оперативной памяти в 1 Гб. Если же мы хотим задействовать все ресурсы мощного современного железа — лучшим решением будет переход на PostgreSQL с последующей ручной настройкой конфигурационных файлов. И не забываем правильно управлять регламентными заданиями, чтобы уместиться в жесткие лимиты лицензии 1С:Сервер МИНИ.