Оптимизация 1С 8.3 и MS SQL Server: настройки производительности

Замирания 1С, долгое проведение документов, блокировки при работе нескольких пользователей — типичные проблемы, с которыми сталкиваются компании при росте нагрузки. Причина чаще всего не в самой платформе, а в неправильной настройке сервера 1С 8.3 и MS SQL Server для оптимальной работы. В этом гайде разберём ключевые параметры обеих систем, которые напрямую влияют на производительность.
Оптимизация сервера 1С 8.3 и MS SQL — это комплексная задача. Нельзя настроить только базу данных или только платформу 1С и ждать чуда. Системы работают в связке, и узкое место в одном компоненте блокирует производительность всей инфраструктуры.
Настройка MS SQL Server: параметры памяти и процессора
MS SQL Server по умолчанию захватывает всю доступную оперативную память, что может привести к нехватке ресурсов для операционной системы и других процессов. Первый шаг оптимизации — ограничить максимальный объём памяти для SQL Server.
Ограничение памяти SQL Server
Откройте SQL Server Management Studio (SSMS), подключитесь к экземпляру сервера и выполните следующие действия:
- Кликните правой кнопкой по имени сервера → Properties → Memory
- Установите параметр «Maximum server memory» в мегабайтах
- Оставьте запас 2-4 ГБ для операционной системы
Формула расчёта: Максимальная память SQL = Общая RAM - 2048 МБ (для ОС) - 1024 МБ (для 1С-сервера).
Например, при 32 ГБ RAM на сервере: 32768 - 2048 - 1024 = 29696 МБ для SQL Server.
Настройка параллелизма запросов
Параметр MAXDOP (Maximum Degree of Parallelism) управляет количеством процессоров, используемых для выполнения одного запроса. Для 1С оптимальное значение — 1, потому что платформа генерирует большое количество коротких запросов, и накладные расходы на параллелизм замедляют выполнение.
Установка MAXDOP через SSMS:
- Правой кнопкой по серверу → Properties → Advanced
- Найдите параметр «Max Degree of Parallelism»
- Установите значение 1
Альтернативный способ — через T-SQL:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max degree of parallelism', 1;
RECONFIGURE;
Параметр Cost Threshold for Parallelism
Этот параметр определяет, при какой стоимости запроса SQL Server начнёт использовать параллельное выполнение. Значение по умолчанию — 5, что слишком мало для 1С. Рекомендуется повысить до 50:
EXEC sp_configure 'cost threshold for parallelism', 50;
RECONFIGURE;
При MAXDOP = 1 этот параметр не критичен, но лучше установить корректное значение на случай изменения конфигурации в будущем.
Модель восстановления базы данных
Для баз 1С, где не требуется восстановление на произвольный момент времени, используйте модель восстановления Simple. Это снижает нагрузку на дисковую подсистему и предотвращает разрастание лог-файлов.
Изменение модели восстановления:
- В SSMS раскройте Databases → выберите базу 1С
- Правой кнопкой → Properties → Options
- Recovery model → Simple
Или через T-SQL:
ALTER DATABASE [имя_базы_1С] SET RECOVERY SIMPLE;
Настройки платформы 1С 8.3: кластер и информационные базы
Производительность платформы 1С зависит от правильной конфигурации рабочих процессов, управления соединениями и блокировками.
Параметры рабочих процессов (rphost)
Рабочие процессы (rphost.exe) обрабатывают запросы пользователей. Количество и настройки процессов влияют на отзывчивость системы при высокой нагрузке.
Откройте консоль администрирования кластера серверов 1С (Администрирование → Настройка кластера → Рабочие процессы).
| Параметр | Рекомендуемое значение | Пояснение |
|---|---|---|
| Количество процессов | Число ядер CPU / 2 | Для 8-ядерного сервера — 4 процесса |
| Память для каждого процесса | Доступная RAM / количество процессов | При 16 ГБ для 1С и 4 процессах = 4 ГБ на процесс |
| Количество соединений | 128-256 | Зависит от числа пользователей; запас 20-30% |
| Таймаут завершения | 300 секунд | Время на завершение длинных операций перед перезапуском процесса |
Управление соединениями с базой данных
Параметр «Максимум соединений с информационной базой» ограничивает общее количество одновременных подключений к базе. Слишком большое значение перегружает SQL Server, слишком маленькое — вызывает ошибки «Превышен лимит соединений».
Формула: Количество пользователей × 2 + 10 (запас на фоновые задания и регламентные операции).
Пример: для 50 пользователей — 50 × 2 + 10 = 110 соединений.
Настройка в консоли администрирования: Кластер → Информационные базы → выберите базу → вкладка «Параметры» → «Макс. соединений с ИБ».
Управляемые блокировки
Начиная с платформы 8.3.8, в 1С появился механизм управляемых блокировок, который снижает конфликты при одновременной работе пользователей.
Включение управляемых блокировок:
- В конфигураторе 1С откройте режим Конфигурация → Свойства конфигурации
- Вкладка «Управляемые блокировки» → установите флаг «Использовать управляемые блокировки»
- Обновите конфигурацию базы данных
Управляемые блокировки работают на уровне прикладных объектов (документы, справочники), а не на уровне строк таблиц SQL. Это существенно снижает количество дедлоков (взаимных блокировок) в базе данных.
Оптимизация дисковой подсистемы
Скорость работы 1С и MS SQL напрямую зависит от производительности дисковой подсистемы. Узкое место здесь — основная причина тормозов даже при достаточном объёме RAM и мощном процессоре.
Разделение файлов базы данных
Разместите файлы данных (.mdf), лог-файлы (.ldf) и tempdb на разных физических дисках или массивах:
- Файлы данных (mdf) — на RAID 10 или SSD
- Лог-файлы (ldf) — на отдельный быстрый диск (SSD или RAID 1)
- tempdb — на самый быстрый диск (NVMe SSD), если возможно
Перемещение tempdb:
- В SSMS выполните запрос для определения текущего расположения:
SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('tempdb');
- Переместите файлы командой:
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'D:\SQLData\tempdb.mdf');
ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'D:\SQLData\templog.ldf');
- Перезапустите службу SQL Server
Настройка размера файлов tempdb
База tempdb используется SQL Server для временных таблиц, сортировки, хранения промежуточных результатов. При интенсивной работе 1С tempdb постоянно растёт и сжимается, что замедляет операции.
Задайте фиксированный размер tempdb, достаточный для пиковой нагрузки (обычно 10-20% от размера основной базы 1С):
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, SIZE = 10240MB, FILEGROWTH = 512MB);
Если на сервере несколько процессоров, создайте несколько файлов данных tempdb (по одному на каждые 4 ядра CPU) — это снижает конкуренцию за ресурсы.
Типовые конфигурации оборудования для 1С + MS SQL
Производительность зависит не только от настроек, но и от аппаратной части. Ниже — рекомендуемые конфигурации серверов Dell PowerEdge для разных сценариев использования 1С.
| Сценарий | Пользователи | Процессор | RAM | Диски |
|---|---|---|---|---|
| Малый бизнес | До 20 | Intel Xeon E-2388G (8 ядер) | 32 ГБ | 2× SSD 480 ГБ (RAID 1) |
| Средний бизнес | 20-100 | Intel Xeon Silver 4314 (16 ядер) | 64-128 ГБ | 4× SSD 960 ГБ (RAID 10) + 2× NVMe (tempdb) |
| Крупная компания | 100-300 | 2× Intel Xeon Gold 6330 (56 ядер) | 256-512 ГБ | 8× SSD 1.92 ТБ (RAID 10) + NVMe для tempdb и логов |
| Холдинг, распределённые базы | 300+ | 2× Intel Xeon Platinum 8380 (80 ядер) | 512 ГБ - 1 ТБ | Внешняя СХД + NVMe для горячих данных |
Для серверов с высокой нагрузкой важна не только частота процессора, но и количество ядер — 1С 8.3 хорошо масштабируется на многоядерных системах при правильной настройке рабочих процессов.
Частые ошибки при оптимизации 1С и MS SQL
Установка MAXDOP > 1 для баз 1С
Многие администраторы считают, что параллелизм запросов ускорит работу. Для 1С это ошибка: платформа генерирует короткие запросы, которые быстрее выполняются последовательно. Параллелизм добавляет накладные расходы и снижает общую производительность.
Отсутствие ограничения памяти SQL Server
MS SQL Server по умолчанию захватывает всю доступную память. При этом операционная система и процессы 1С-сервера начинают использовать файл подкачки, что критично замедляет работу. Всегда устанавливайте параметр «Maximum server memory».
Размещение данных, логов и tempdb на одном диске
Когда все файлы SQL Server находятся на одном физическом диске, возникает конкуренция за операции ввода-вывода. Результат — высокая задержка дисковой подсистемы и замирания системы. Разделяйте файлы данных, логов и tempdb по разным дискам или массивам.
Использование модели восстановления Full без настройки резервного копирования
При модели Full SQL Server сохраняет все транзакции в лог-файл, который растёт до полного заполнения диска. Если не настроено регулярное резервное копирование логов, лог-файл может занять всё доступное место. Для большинства баз 1С достаточно модели Simple.
Игнорирование статистики и фрагментации индексов
SQL Server использует статистику для выбора оптимального плана выполнения запроса. Устаревшая статистика приводит к неэффективным планам и медленным запросам. Настройте автоматическое обновление статистики и регулярную перестройку фрагментированных индексов (через задания обслуживания или скрипты).
Мониторинг производительности: на что смотреть
После настройки важно контролировать ключевые метрики, чтобы вовремя обнаружить узкие места.
Метрики MS SQL Server
- Page Life Expectancy (PLE) — среднее время жизни страницы в буферном кеше. Значение ниже 300 секунд указывает на нехватку памяти.
- Buffer Cache Hit Ratio — процент запросов, обслуженных из кеша без обращения к диску. Норма — выше 95%.
- Avg. Disk Queue Length — средняя длина очереди запросов к диску. Значение выше 2 на протяжении длительного времени — признак медленной дисковой подсистемы.
- Batch Requests/sec — количество пакетных запросов в секунду. Показывает общую нагрузку на SQL Server.
Используйте встроенные отчёты SQL Server (Performance Dashboard) или сторонние инструменты мониторинга (например, SQL Monitor, Zabbix, Prometheus).
Метрики платформы 1С
- Количество активных соединений — не должно приближаться к лимиту, установленному в настройках информационной базы.
- Загрузка рабочих процессов (rphost) — если процесс постоянно загружен на 100%, требуется увеличить количество процессов или оптимизировать код конфигурации.
- Длительность выполнения запросов — журнал технологических логов 1С позволяет выявить медленные запросы и узкие места в коде.
Включите технологический журнал 1С для детального анализа производительности. В консоли администрирования: Информационные базы → выберите базу → Настройка технологического журнала → укажите путь и параметры логирования.
Вопросы и ответы
Как понять, что тормозит 1С — сервер приложений или SQL Server?
Включите технологический журнал 1С и проанализируйте события SDBL (запросы к SQL Server) и CALL (вызовы методов). Если время выполнения запросов SQL (dbmssql) составляет большую часть общего времени операции — узкое место в SQL Server. Если задержки в процедурах и вызовах модулей — проблема в коде конфигурации или нехватке ресурсов сервера приложений.
Нужно ли использовать SSD для сервера 1С и MS SQL?
Да, для производительных систем SSD критичен. MS SQL Server активно работает с диском (чтение данных, запись логов, операции в tempdb), и скорость диска напрямую влияет на отзывчивость системы. Минимум — SSD для tempdb и лог-файлов, в идеале — для всех файлов базы данных. Использование NVMe SSD даёт дополнительный прирост производительности.
Можно ли использовать один сервер для 1С и MS SQL?
Да, для малых и средних инсталляций (до 100 пользователей) один мощный сервер с достаточным количеством RAM и быстрыми дисками работает эффективно. Важно правильно распределить память: выделить фиксированный объём для SQL Server, оставить запас для операционной системы и процессов 1С-сервера. При росте нагрузки рекомендуется разделить 1С-сервер и SQL Server на разные физические машины.
Поделиться статьёй:
Об авторе

Подбор и консалтинг · Экономика и выбор
Консультант по подбору серверного оборудования. 7 лет помогает компаниям выбирать серверы под задачи и бюджет. Сторонник разумной экономии.
Все статьи автора →Похожие материалы

Системные требования сервера для 1С: память, процессор, диски
Производительность 1С зависит от правильного подбора серверных компонентов. Разбираем минимальные и рекомендуемые параметры процессора, памяти и дисковой подсистемы под разную нагрузку. Показываем формулы расчёта ресурсов, сравниваем типы накопителей, объясняем влияние конфигурации 1С на требования к серверу. Примеры готовых решений Dell PowerEdge для систем от 5 до 300 пользователей.

Отмена резервного копирования в 1С 8.3: как остановить процесс
Резервное копирование в 1С 8.3 можно остановить через список фоновых заданий в разделе администрирования или консоль кластера для клиент-серверных баз. В статье — три способа отмены запущенного бэкапа, инструкции по отключению автоматического резервного копирования и проверке целостности базы после прерывания процесса.

Серверы форм-факторов 1U, 2U, 4U, Tower: когда какой выбрать
Гайд по выбору форм-фактора сервера: 1U, 2U, 4U и Tower. Охлаждение, шум, расширяемость, цена — помогаем подобрать оптимальное решение для ваших задач.