Как оптимизировать 1С:Управление торговлей 10.3 на MSSQL и SSD при работе через RDP?

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

Рассмотрим ситуацию, когда сервер на базе мощного процессора Intel Core i7-8700K и скоростного SSD Intel Optane начинает «подтормаживать» при работе 30 пользователей в терминальном режиме. Проблема часто кроется не в отсутствии мощности «железа», а в неправильном распределении ресурсов между операционной системой, SQL-сервером и рабочими процессами 1С. Разберем по шагам, как выжать максимум из имеющейся конфигурации.

Анализ узких мест производительности

Проанализируем текущую ситуацию. Мы имеем 32 Гб оперативной памяти, на которой одновременно работают: операционная система Windows Server 2008 R2, MS SQL Server 2014, сервер приложений 1С и 30 активных RDP-сессий. Основная проблема здесь заключается в дефиците ОЗУ и конфликте дисковых операций на медленном системном RAID-1 из HDD.

При 30 пользователях каждая сессия 1cv8.exe может потреблять от 400 до 800 Мб памяти. Умножив это на 30, мы получим около 18–24 Гб только на клиентские приложения. Если прибавить к этому нужды SQL-сервера (которому для базы в 64 Гб желательно иметь хотя бы 32 Гб кэша) и нужды ОС, становится понятно, почему система начинает использовать файл подкачки (swap). Как только данные уходят в своп на медленные диски WD Gold (7200 rpm), интерфейс 1С начинает «замирать».

Шаг 1: Оптимизация дисковой подсистемы и перенос кэша

Выясним причину длинных очередей к диску. В данной конфигурации система и профили пользователей находятся на HDD. 1С:Предприятие при работе в режиме обычных форм (УТ 10.3) активно создает временные файлы и пишет кэш метаданных. Перенесем критические узлы на SSD Intel Optane.

  1. Перенос временных файлов пользователей: Необходимо переместить папку %LOCALAPPDATA%\1C с медленного HDD на SSD. Это можно сделать с помощью символьных ссылок. Рассмотрим пример команды для командной строки: mklink /d "C:\Users\Username\AppData\Local\1C" "D:\1C_Cache\Username" Это позволит 1С мгновенно считывать закэшированные формы и конфигурацию.
  2. Размещение TempDB: Файлы временной базы SQL Server (tempdb) должны находиться исключительно на самом быстром диске (в нашем случае — Optane). Проанализируем количество файлов: рекомендуется создать столько файлов tempdb, сколько ядер у процессора (для i7-8700K — 6 файлов), с одинаковым начальным размером.
  3. Файл подкачки: Если ОЗУ не хватает, переместите файл подкачки на SSD, но помните, что это крайняя мера, снижающая ресурс накопителя.

Шаг 2: Тонкая настройка MS SQL Server

Настроим SQL Server так, чтобы он не конфликтовал с процессами 1С и RDP-сессиями. Посмотрим на ключевые параметры:

Шаг 3: Настройка сервера приложений 1С и протоколов

Поскольку сервер 1С и SQL находятся на одной физической машине, мы можем существенно ускорить их взаимодействие. Рассмотрим настройку Shared Memory. Перейдем в консоль администрирования 1С и убедимся, что в строке подключения к серверу баз данных не форсируется протокол TCP/IP. Использование общей памяти исключает накладные расходы на сетевой стек Windows.

Также проанализируем параметры рабочих процессов rphost.exe. В консоли кластера 1С рекомендуется установить «Максимальный объем памяти рабочих процессов». Это предотвратит «раздувание» процессов 1С и принудительно перезапустит их при достижении лимита, освобождая память для системы.

Шаг 4: Настройка электропитания и антивируса

Часто системные администраторы забывают о базовых настройках ОС, которые критичны для процессоров i7. Разберем план электропитания. В Windows Server по умолчанию может стоять режим «Сбалансированный». Это приводит к тому, что ядра процессора «паркуются» или снижают частоту в моменты простоя. Для 1С это оборачивается микрозадержками при открытии форм.

Установите план электропитания «Высокая производительность» (High Performance).

Настроим исключения антивируса. Проанализируем, какие файлы проверяются в реальном времени. В исключения должны попасть:

Шаг 5: Оптимизация на уровне конфигурации УТ 10.3

Выясним причину зависаний «колом». В УТ 10.3 часто используются автоматические блокировки. Если несколько пользователей одновременно проводят документы, возникают ожидания на уровне таблиц SQL. Проанализируем возможность перевода наиболее нагруженных регистров (например, ОстаткиТоваров) на Управляемые блокировки. Это требует работы программиста, но радикально решает проблему «зависаний» при проведении.

Также стоит проверить регламентные задания. Например, «Полнотекстовый поиск» может запускаться каждые 5 минут, создавая пиковую нагрузку на диск и процессор. Если пользователи не пользуются глобальным поиском, эту функцию лучше отключить.

Итоговые рекомендации

Для стабильной работы 30 пользователей на одной машине мы рекомендуем следующее:

  1. Увеличить объем ОЗУ до 64 Гб. Это самый дешевый и эффективный способ убрать тормоза, связанные со свопом.
  2. Перенести ОС на SSD. Даже недорогой SATA SSD для системы будет быстрее, чем RAID-1 из HDD Gold.
  3. Разделить роли. В идеале, SQL-сервер стоит вынести на отдельную виртуальную машину или физический сервер, чтобы он не конкурировал с RDP за процессорное время i7.

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

← На главную