Тормозит 1С: как найти узкое место в процессоре, дисках или сети

В 10:15 пользователи начали ждать проведения документов. К 10:35 загрузка CPU выросла, и в заявке на закупку уже появился новый процессор. Покупать его рано: высокий CPU может оказаться следствием дисковых задержек, фонового задания или блокировки.
Сначала снимите CPU, задержку диска и сетевые показатели за один интервал — с 10:15 до 10:35. На ту же шкалу времени положите журналы 1С и СУБД, действия пользователей и расписание фоновых заданий. Средняя загрузка за сутки причину не покажет.
Задача диагностики — найти место, где возникла очередь: в rphost, хранилище или сетевом пути. Руководителю нужен тот же ответ, только в другой форме: какой компонент ограничивает работу и почему его замена устранит измеренную задержку.
Соберите один временной срез #
Запишите точное время начала и окончания тормозов. Если пользователи называют его приблизительно, найдите долгую операцию в журнале регистрации 1С и возьмите её границы.

Для этого интервала соберите:
- загрузку CPU по процессам;
- дисковые задержки и длину очереди;
- сетевые ошибки и загрузку интерфейсов;
- потребление памяти, page faults и swap;
- журнал регистрации и технологический журнал 1С;
- ожидания, блокировки и тяжёлые запросы СУБД;
- список фоновых заданий.
Такой порядок соответствует схеме мониторинга, описанной Infostart: показатели ресурсов нужно сопоставлять с журналами 1С, СУБД и событиями того же периода. Один график CPU не отделяет причину от последствия.
Для первого прохода не нужен новый сервер и не нужна смета. Нужны 20 минут согласованных данных. После них станет понятно, какую ветку разбирать глубже.
Процессор виноват, когда время забирает rphost #
На Windows откройте Диспетчер задач, на Linux — top или htop. Проверьте, держит ли один или несколько процессов rphost высокую загрузку именно во время задержки. Эти процессы исполняют серверный код конфигурации 1С.
Затем откройте консоль кластера 1С и найдите нагруженный сеанс по колонке «Процессорное время (текущее)». Сопоставьте его с событиями CALL технологического журнала: они фиксируют серверные вызовы процедур. Этот порядок диагностики описан в техническом разборе W-Code на Habr.
Если один вызов совпал с пиком CPU и долгим проведением документа, сначала разбирайте код и запросы. Более быстрый процессор сократит время выполнения, но не исправит лишний полный проход по таблице или неудачный план запроса.
Проверьте и фоновые задания. Массовый запуск заданий создаёт пик даже без активных пользователей: рабочий процесс загружает данные информационной базы перед заданием и выгружает после него. В платформе 8.3.25 и новее этим поведением управляет параметр «Задержка выгрузки конфигурации рабочим процессом». Настройки процессов и памяти разобраны отдельно в материале о параметрах рабочего сервера 1С.
Учитывайте лицензию и топологию процессоров. По данным технического разбора W-Code, лицензия 1С ПРОФ использует до 12 физических ядер серверных процессов; логические потоки Hyper-Threading в этот лимит не входят. На двухсокетовой машине один rphost работает внутри одного физического NUMA-узла. Сервер может показывать свободные ядра второго сокета, но конкретному процессу они не помогут.
Если rphost не занимает CPU во время задержки, процессор пока не виноват. Сеанс может ждать данные с диска, и тогда повышение частоты не уберёт паузу.
Диск виноват при совпадении задержки и ожиданий SQL Server #
В Performance Monitor снимите три счётчика:
Avg. Disk sec/Read;Avg. Disk sec/Write;Avg. Disk sec/Transfer.
По руководству Microsoft по диагностике I/O в SQL Server, эти счётчики показывают задержку операций чтения, записи и общего обмена с накопителем. Устойчивые значения выше 10–15 мс на операцию указывают на узкое место ввода-вывода. Разовый пик таким доказательством не служит.
Проверьте ожидания SQL Server в тот же интервал. Для чтения характерны PAGEIOLATCH_SH и PAGEIOLATCH_EX, для журнала транзакций — WRITELOG. На задержки ввода-вывода также указывают IO_COMPLETION, ASYNC_IO_COMPLETION и BACKUPIO. Порог без этих ожиданий показывает медленное устройство, но ещё не доказывает, что оно задержало пользователей 1С.
DMV sys.dm_io_virtual_file_stats поможет перейти от общего тома к файлу базы. Сравните задержку файлов данных, журнала транзакций и tempdb. Так Вы не замените весь массив из-за одного файла, который лежит на неподходящем томе.
Проверьте фильтры Windows. Руководство Microsoft называет антивирус, резервное копирование, шифрование и сжатие среди причин дополнительной задержки I/O. Команда:
fltmc instances
покажет фильтры и тома, к которым они подключены. EFS и файловое сжатие переводят асинхронные операции ввода-вывода в синхронные, поэтому их влияние нельзя оценивать только по паспортной скорости SSD.
На PowerEdge добавьте в проверку PERC. Учебное руководство Dell предупреждает, что операции контроллера временно снижают производительность. Среди них — периодический PERC Learn Cycle, во время которого контроллер калибрует аккумулятор кэша.
Журнал PERC выгружается через PercCLI. Интерпретировать его нужно с учётом поколения контроллера: Dell отдельно указывает, что способы настройки и устранения ошибок различаются между моделями PERC. Например, BIOS Configuration Utility не поддерживается на PERC 10 и новее.
Если задержка держится выше 10–15 мс, а SQL Server одновременно накапливает I/O-ожидания, процессор из заявки вычёркиваем. Дальше проверяем размещение файлов, фильтры, состояние PERC и только затем выбираем накопители или контроллер.
Сеть подтверждается событием, а не медленным клиентом #
Сеть можно назвать причиной, когда сбой связи совпал с задержкой 1С, а CPU и хранилище паузу не объясняют. Медленное открытие формы на одном компьютере для такого вывода не годится.
Сопоставьте сетевые ошибки Windows, загрузку интерфейса и записи журналов 1С и СУБД в том же временном окне. Затем проверьте сокетные ошибки и диапазон динамических портов.
Методическая поддержка 1С приводит команды изменения диапазонов TCP и UDP:
netsh int ipv4 set dynamicport tcp
netsh int ipv4 set dynamicport udp
Не запускайте их без параметров и расчёта требуемого диапазона. Эти команды меняют конфигурацию Windows, а не диагностируют причину сами по себе. Сначала зафиксируйте исчерпание портов или соответствующие сокетные ошибки.
Порядок проверки маршрута, служб и портов есть в инструкции по диагностике потери связи с сервером 1С. Если сетевые события не совпали с жалобами, возвращайтесь к запросам, блокировкам и памяти.
Что исправлять и что писать в бюджетной заявке #
Если rphost забирает CPU, а технологический журнал показывает тяжёлый вызов или массовый запуск заданий, сначала исправьте запрос, расписание и параметры рабочего сервера. После изменений повторите тот же замер. Апгрейд процессора имеет основание, только если полезная вычислительная работа снова упирается в доступные ядра.
Если дисковая задержка устойчиво превышает 10–15 мс и SQL Server в тот же период накапливает I/O-ожидания, проверьте файлы базы, фильтры Windows и PERC. Накопители или контроллер меняют после локализации задержки, а не по возрасту сервера.
Если CPU и диск не подтверждают ограничение, а сетевые ошибки совпадают с журналами, исправляйте сетевой путь и конфигурацию портов. При отсутствии совпадения продолжайте проверку блокировок, запросов и памяти.
В бюджетную заявку внесите четыре поля:
- проблемный интервал;
- измеренную метрику;
- подтверждающее событие в журнале;
- ожидаемое изменение после работ.
Сумму в рублях добавляйте после выбора компонента и конфигурации. До этого расчёт будет фиктивным: цена двух SSD, комплекта памяти, PERC и нового PowerEdge различается, а диагностика ещё не показала, за что именно платить.
Поделиться статьёй:
Об авторе

Диагностика и ремонт · Реальные поломки
Инженер технической поддержки, 6 лет в диагностике и ремонте серверов. Знает, почему серверы ломаются и как этого избежать. Объясняет сложное простым языком.
Все статьи автора →Похожие материалы

Лицензирование Windows Server на Dell PowerEdge: считаем ядра, VM и CAL
PowerEdge с двумя 24-ядерными CPU требует лицензий на 48 физических ядер, а для шести Windows-VM редакции Standard — на 144. Показываем, как сравнить Standard и Datacenter, посчитать CAL и проверить счёт до оплаты.

Регламент резервного копирования: как проверить, что данные восстановятся
Ежедневные копии не гарантируют, что 1С или виртуальная машина поднимется после сбоя. Каркас регламента связывает расписание с RTO и RPO, назначает ответственных и задаёт четыре уровня тестов — от файла до площадки.

Завис сервер Dell PowerEdge: что проверить до перезагрузки
ОС не отвечает, но iDRAC доступен. До перезагрузки выгрузите SEL, отделите сетевой обрыв от аппаратного сбоя и сохраните признаки отказа. Порядок проверки PowerEdge: от первых минут до F10/F11-диагностики и границы гарантийного ремонта.