Ускорить сервер 1С без покупки нового железа в большинстве случаев реально. Жалобы пользователей на тормоза почти всегда сначала прилетают к айтишникам, а айтишники, не разобравшись, идут к директору с просьбой докупить процессоры или память. Между этими двумя шагами обычно есть запас в виде настроек: их крутят на трёх уровнях - СУБД, платформа 1С, операционная система и сеть.
Ниже - десять приёмов, которые системный администратор может выполнить сегодня. Все безопасные: переустанавливать сервер не нужно, всё работает на существующей инфраструктуре. В конце - короткий список симптомов, при которых оптимизация уже не помогает и без апгрейда железа не обойтись.

Где обычно находится узкое место в работе 1С
Прежде чем что-то крутить, сначала найдите узкое место: пошаговую диагностику по счетчикам и логам дает разбор того, как найти причину, почему 1С тормозит на сервере. Нагрузка лежит на четырёх уровнях: процессор (CPU), память (RAM), дисковая подсистема и сеть. Узкое место чаще всего в одном из них, там и нужно работать.
Простые признаки. CPU: процесс rphost постоянно висит на 90–100%. Память: rphost много читает с диска, виден постоянный своп. Диск: high disk queue и длинные ожидания ввода-вывода. Сеть: лаги клиента при низкой загрузке сервера.
Как мерить. В Windows - Performance Monitor плюс счётчики SQL Server. В Linux - vmstat, iostat и sar. На стороне платформы 1С - технологический журнал и журнал регистрации. Если у вас уже есть Zabbix, PRTG или Prometheus, посмотрите счётчики rphost и СУБД оттуда.
И главное правило: оптимизация без замеров «до и после» - это гадание. Зафиксируйте базовую производительность (тест Гилёва, время открытия типового документа, время проведения партионного отчёта), потом крутите. Иначе через неделю вы не вспомните, что именно сработало.

Десять способов в одной таблице
Таблица помогает выбрать, с чего начать: способы сгруппированы по уровням, на которых их настраивают, а в последнем столбце указано, чем грозит ошибка в настройке.
| Способ | Где настраивается | Что дает | Риск |
|---|---|---|---|
| 1. Реиндексация и статистика | SQL Server Agent | Оптимизатор строит верные планы, отчеты и проведение ускоряются | Обслуживание нагружает диски, запускать только ночью |
| 2. Память SQL Server и tempdb | Свойства экземпляра SQL Server | Данные держатся в кэше, временные таблицы не тормозят | Лимит памяти без запаса отнимает RAM у ОС и сервера 1С |
| 3. Параметры памяти PostgreSQL | postgresql.conf | СУБД использует RAM под кэш данных | Завышенные значения приводят к нехватке памяти |
| 4. Автовакуум и VACUUM ANALYZE | postgresql.conf и расписание | Таблицы регистров не обрастают мертвыми строками | Ручной VACUUM днем нагружает диски |
| 5. Регламентные операции ночью | Расписание регламентных заданий 1С | Пользователи не висят на тяжелых операциях | Пересечение с окном резервного копирования |
| 6. Несколько рабочих процессов rphost | Консоль администрирования кластера | Зависший сеанс не останавливает остальных | Слишком жесткие лимиты памяти обрывают тяжелые операции |
| 7. Журнал регистрации в формате .lgf | Настройки журнала регистрации базы | Журнал не разрастается и открывается быстрее | Без выгрузки архива теряется история событий |
| 8. Исключения антивируса | Консоль антивируса | Файлы базы не проверяются на лету | Лишние исключения ослабляют защиту |
| 9. Схема питания «Высокая производительность» | Параметры электропитания ОС | Частота процессора не проседает в пик | Растет энергопотребление сервера |
| 10. Энергосбережение сетевой карты | Свойства сетевого адаптера | Нет задержек между сервером 1С и СУБД | Практически отсутствует |
Способы 1–2 относятся к MS SQL, способы 3–4 к PostgreSQL, поэтому на одном сервере из первой четверки обычно применяют только два.
Способы 1–4: оптимизация СУБД
MS SQL: что подкрутить под 1С
Оптимизация ms sql для 1С начинается с двух базовых задач - индексы и память.
Способ 1. Реиндексация и обновление статистики. Фрагментированные индексы и устаревшая статистика заставляют оптимизатор строить неудачные планы запросов, и проведение документов с отчетами замедляется. Настройте ночное задание в SQL Server Agent: сначала обслуживание индексов, сразу за ним обновление статистики.
Способ 2. Память SQL Server и tempdb. Ограничьте максимальную память SQL Server так, чтобы операционной системе и серверу 1С оставался запас, иначе СУБД заберет всю RAM. Базу tempdb вынесите на отдельный быстрый том и разбейте на несколько файлов данных: 1С активно работает с временными таблицами, и tempdb быстро становится узким местом.
PostgreSQL для 1С: что подкрутить
Способ 3. Настройка postgresql.conf под объем RAM сервера. Значения памяти по умолчанию рассчитаны на очень скромную машину, и без настройки PostgreSQL почти не использует оперативную память под кэш данных. Задайте память под общий кэш и под операции сеансов исходя из объема RAM, а саму СУБД ставьте из сборок Postgres Pro или 1С, подготовленных для работы с платформой.
Способ 4. VACUUM и автовакуум. Мертвые строки в больших таблицах регистров копятся быстро и замедляют каждый запрос к ним. Держите автовакуум включенным, для крупных таблиц настройте его на более частый запуск, а VACUUM ANALYZE критичных таблиц выполняйте по расписанию в окно технических работ. Конкретные значения под свой объем памяти и нагрузку подбирают по статье, где разобраны ключевые параметры PostgreSQL и MS SQL под 1С.
Способы 5–7: платформа 1С и кластер
Производительность сервера 1С дальше тянут уже на стороне самой платформы - три приёма, которые относительно приемлемы по времени и часто заметно меняют картину.
Способ 5. Регламентные операции 1С - на ночь. Тестирование и исправление, переиндексация информационной базы, реструктуризация при обновлениях - это тяжёлые задачи. Если они идут в рабочее время, пользователи висят. Перенесите их в окно с минимальной нагрузкой через назначенные задания и расписание. Для крупной 1С:ERP это часто и есть главная экономия времени.
Способ 6. Несколько рабочих процессов rphost. Один rphost на всех - узкое место по памяти. Включите «Безопасное расходование памяти» в свойствах рабочего процесса, задайте «Максимум памяти на один сеанс» и «Максимум информационных баз на процесс». Кластер автоматически развернёт нужное число rphost - один зависший сеанс не уронит остальным рабочий день.
Способ 7. Перевести журнал регистрации в последовательный формат и настроить его сокращение. Журнал регистрации хранится в одном из двух форматов: последовательном (.lgf) или SQLite (.lgd, появился в версии 8.3.5). С версии 8.3.12 новые базы создаются с последовательным форматом. Если журнал старой базы до сих пор ведется в SQLite, переключите его на последовательный формат и настройте сокращение журнала с выгрузкой архива, чтобы он не разрастался годами. Хранения журнала регистрации в СУБД платформа не предусматривает.

Способы 8–10: ОС и сетевая обвязка
Что подкрутить в ОС, антивирусе и сети
Настройка ос для 1С - та зона, где админы чаще всего «забывают» три простых вещи и потом удивляются медленной работе.
Способ 8. Исключения антивируса. Добавьте в исключения каталоги сервера 1С и файлы данных и журналов СУБД, полностью отключать антивирус не нужно.
Способ 9. Схема питания «Высокая производительность». В сбалансированном режиме процессор сбрасывает частоту при простое и не успевает за пиковой нагрузкой, поэтому для сервера 1С включают «Высокую производительность» в Windows или performance governor в Linux.
Способ 10. Энергосбережение сетевой карты. Отключите его на адаптерах сервера 1С и СУБД, а если они стоят на разных машинах, выделите для обмена между ними отдельную сеть.
Полный список исключений антивируса и сетевые параметры реестра дает оптимизация Windows Server для 1С.

Чего точно не делать
Несколько антипаттернов, которые на форумах встречаются часто и которые портят сервер быстрее любых лагов.
- Не крутите параметры наугад без замеров до и после. Хорошо настроенный параметр под одну нагрузку может ухудшить производительность под другой, без бенчмарка вы этого не увидите.
- Не отключайте антивирус полностью. Достаточно исключить нужные каталоги. Полное отключение - это прямой риск шифровальщика и потеря всей базы. Объяснять руководству, почему данных нет, тяжелее, чем настроить исключения.
- Не удаляйте «лишние» индексы из служебных таблиц 1С. То, что выглядит как мусор, может быть нужно платформе при обновлении конфигурации. После такой «чистки» обновление вылетит с ошибкой в самый неудобный момент.
- Не копируйте значения параметров СУБД из чужих статей без поправки на свой объём RAM и нагрузку. shared_buffers в 16 ГБ на сервере с 32 ГБ RAM - это не «оптимально», это близко к падению по памяти. И не запускайте тестирование и исправление информационной базы в рабочее время, пользователи будут висеть на блокировках весь день, а потом эту историю долго припомнят при каждом ускорении.
Когда оптимизация уже не помогает
Симптомы, при которых дальше тянуть настройки бесполезно - нужен апгрейд железа или серьёзная переработка инфраструктуры.
- Все рабочие процессы rphost постоянно держат CPU около 100%, регламент уже на ночь. Это потолок ядер, нужны более мощные процессоры.
- Объём базы и активная работа уперлись в RAM, своп активен постоянно, добавлять память некуда. Сервер встал в потолок памяти.
- Дисковая подсистема выдаёт длинные ожидания (high IO wait) даже при простаивающем CPU. На SATA SSD стоит крупная база - пора на NVMe или быстрый SAS-массив. И ещё типичная картина: сеть между сервером 1С и СУБД полностью загружена 1 Gb-каналом - пора на 10 Gb.
- Если несколько ресурсов одновременно лежат на пределе и оптимизация уже не помогает - разумнее не подбирать железо наугад, а начать с аудита ИТ-инфраструктуры: он покажет, упёрся сервер в CPU, в память или в диски, и что именно стоит менять.
Частые вопросы об ускорении сервера 1С
Ошибка «Превышен максимальный расход памяти сервера за один вызов»: что делать?
Ошибка означает, что одна серверная операция (отчет, обработка, проведение документа) потребовала больше памяти, чем разрешает лимит на один вызов в настройках кластера. Найдите эту операцию по технологическому журналу: в нем видно, какой вызов и в каком модуле расходует память. Исправлять нужно саму операцию, например ограничить выборку или период отчета. Поднять лимит в свойствах кластера можно как временную меру, но с ростом данных ошибка вернется.
1С медленно работает по сети: что проверить?
Сначала замерьте задержку от рабочего места до сервера: для клиент-серверной 1С она важнее ширины канала. Затем убедитесь, что пользователи работают в тонком клиенте, а не в толстом, который гоняет по сети гораздо больше данных. Для удаленных офисов и сотрудников на медленных каналах надежнее терминальный доступ: клиент 1С работает рядом с сервером, а по сети передается только изображение.
Как замерить эффект настроек?
Выберите одну и ту же тестовую операцию, например открытие типового документа или формирование тяжелого отчета, и засеките время до и после изменения. Для общей оценки подходит тест Гилева. Меняйте по одному параметру за раз и записывайте результат, иначе будет непонятно, какая настройка сработала.
Заключение
Десять приёмов выше - это бесплатный «тюнинг», который во многих случаях возвращает производительности на приемлемый уровень. Главное правило простое: мерьте до и после, иначе через неделю не вспомните, что именно сработало.
Если все десять пунктов прошли, а пользователи всё равно жалуются на тормоза - проблема в железе, а не в настройках. Когда оптимизация выжата до конца, единственный честный ход посмотреть готовые серверы для 1С под текущее число пользователей и спланировать миграцию вместо ещё одного круга настроек.
