Как максимально эффективно распределить дисковое хранилище и настроить связку MSSQL + 1С на бюджетном сервере?

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

Развертывание производительного сервера 1С на потребительском железе (например, на базе процессора Intel i5) — задача нетривиальная, но выполнимая. Основным ограничением в таких системах часто выступает не только производительность процессора, но и пропускная способность дисковой подсистемы, а также объем оперативной памяти. Рассмотрим подробно, как правильно распределить ресурсы между ОС, СУБД и сервером 1С, чтобы добиться максимального быстродействия.

Анализ дисковой подсистемы: SSD против HDD

В современных реалиях классическая схема разделения «ОС на одном диске, базы на другом» претерпела изменения из-за высокой скорости SSD. Разберем наиболее эффективную стратегию распределения данных при наличии одного HDD и одного SSD:

  1. SSD (основной рабочий диск): Здесь должны располагаться все компоненты, критичные к скорости случайного доступа и времени отклика. Это сама операционная система Windows Server, исполняемые файлы MSSQL и 1С, базы данных (.mdf), файлы логов (.ldf) и, что крайне важно, база tempdb.
  2. HDD (архивный диск): Используем его исключительно для хранения резервных копий (бэкапов) и дистрибутивов. Поскольку HDD обладает низкой скоростью позиционирования головок, любая активность на нем во время работы пользователей (например, запись журнала регистрации) будет создавать «фризы» в системе.

Проанализируем ситуацию: если мы оставим ОС на медленном HDD, системные службы, файл подкачки и фоновые обновления Windows будут постоянно занимать очередь диска, замедляя работу всей связки. Поэтому рекомендуется устанавливать всё на SSD, а HDD оставить под «оперативный» бэкап.

Оптимизация файловой системы и SQL Server

Для работы с базами данных стандартный размер кластера файловой системы в 4 КБ не является оптимальным. Выясним, как настроить диски на уровне разметки:

При форматировании тома под базы данных SQL Server следует выбирать размер кластера 64 КБ. Это соответствует размеру «экстента» (extent) в архитектуре SQL Server, который состоит из восьми страниц по 8 КБ. Такая настройка позволяет сократить количество операций ввода-вывода (IOPS) при чтении и записи больших блоков данных.

Разберем настройки tempdb. Эта база данных является «черновиком» для SQL Server и 1С, и нагрузка на нее колоссальна. Рассмотрим основные правила ее конфигурации:

Настройка журнала регистрации 1С и временных папок

Многие системные администраторы забывают, что сервер 1С активно пишет данные в свои внутренние каталоги. Проанализируем, где они находятся и как их перенести:

Журнал регистрации 1С по умолчанию хранится в папке профиля пользователя, под которым запущена служба (обычно это C:\Program Files\1cv8\srvinfo). Если этот каталог останется на медленном диске, запись каждого действия пользователя станет «бутылочным горлышком». Перенос журнала регистрации на быстрый SSD — обязательная процедура.

Для переноса каталога данных сервера 1С (srvinfo) необходимо изменить параметры запуска службы в реестре Windows. Посмотрим на алгоритм действий:

  1. Остановите службу 1С:Предприятие.
  2. Откройте редактор реестра regedit.
  3. Перейдите к ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3....
  4. В параметре ImagePath найдите ключ -d и укажите новый путь к папке на SSD.

Пример строки запуска в реестре может выглядеть так:


"C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "D:\1C_Data\srvinfo"

Решение проблемы дефицита оперативной памяти

Объем памяти в 8 ГБ является критически малым для связки Windows Server + MSSQL + Сервер 1С. Рассмотрим, как выжить в таких условиях:

Ограничение памяти SQL Server: По умолчанию SQL пытается забрать всю доступную память. Необходимо жестко ограничить Max Server Memory в настройках SQL Server Management Studio. Для системы с 8 ГБ ОЗУ выделите SQL серверу не более 4-5 ГБ, чтобы оставить ресурсы для ОС и рабочих процессов 1С (rphost).

Shared Memory: Обязательно включите протокол Shared Memory в настройках SQL Server Configuration Manager. Поскольку сервер 1С и SQL Server находятся на одной физической машине, это позволит им обмениваться данными через оперативную память, минуя сетевой стек, что значительно ускорит работу.

Рассмотрим также политику Lock Pages in Memory. Предоставление этого права учетной записи SQL Server предотвратит сброс данных из оперативной памяти в файл подкачки, что критично для производительности.

Настройка веб-сервера IIS для работы через веб-клиент

Так как работа планируется через веб-клиент, необходимо уделить внимание настройке IIS. Разберем основные моменты:

Итоговый алгоритм оптимизации

Проанализируем шаги, которые приведут систему к успеху (результат в 35-40 «попугаев» по тесту Гилева):

  1. Устанавливаем ОС и всё ПО на SSD.
  2. Форматируем раздел под базы с размером кластера 64 КБ.
  3. В настройках SQL Server включаем Shared Memory и ограничиваем потребление памяти.
  4. Разносим файлы tempdb по количеству ядер.
  5. Переносим папку srvinfo (журнал регистрации) на SSD через реестр.
  6. Устанавливаем план электропитания Windows в режим «Высокая производительность».
  7. Включаем Instant File Initialization для SQL Server (право «Выполнение задач по обслуживанию томов»).

Соблюдение этих рекомендаций позволит даже на процессоре i5 2500k получить отзывчивую систему для 5-10 пользователей, работающих в современных конфигурациях типа УТ 11 или БП 3.0. Однако помните, что расширение памяти до 16-32 ГБ должно стать первоочередной задачей при масштабировании бизнеса.

← На главную