Поэтому мониторинг в контуре 1С должен решать более сложную задачу, чем фиксация высокой загрузки сервера. Его практическая ценность состоит в том, чтобы соотнести пользовательскую деградацию с конкретным уровнем системы: инфраструктурой, СУБД, сервером 1С, техжурналом или прикладным кодом.
Ниже рассматривается методический подход к такой диагностике: какие данные необходимо собирать, как проверять гипотезы по слоям, какие выводы допустимо делать на основании метрик.
Почему фраза «1С тормозит» не является техническим заключением
Для бизнеса проблема обычно выглядит однозначно: документ проводится дольше обычного, отчёт не формируется, пользователи ожидают завершения операции, рабочий процесс приостанавливается. Для ИТ-службы это не заключение, а исходная точка расследования.
Выполнение операции в 1С проходит через несколько взаимосвязанных уровней:
1. пользователь инициирует действие;
2. конфигурация запускает прикладную логику;
3. сервер 1С обрабатывает вызовы;
4. выполняются обращения к СУБД;
5. СУБД читает, изменяет и блокирует данные;
6. инфраструктура обслуживает нагрузку на CPU, память, диск и сеть;
7. параллельно выполняются фоновые задания, обмены, интеграции, отчёты и регламентные операции.
Именно поэтому один и тот же внешний симптом может иметь различные причины. Например, медленное проведение документа может быть связано с нехваткой ресурсов на сервере 1С, ожиданием освобождения данных в СУБД, чтением избыточного объёма данных, конкуренцией с регламентным заданием, слишком длинной транзакцией, перегрузкой дисковой подсистемы или изменением логики после релиза.
Вопрос «почему загружен сервер?» в такой ситуации недостаточен. Более корректная постановка звучит иначе: какой уровень системы ограничивал выполнение пользовательской операции в момент деградации?
Как распределять гипотезы между командами
В корпоративной среде производительность 1С редко находится в зоне ответственности одной группы. Инфраструктурная команда анализирует серверы и виртуализацию, DBA отвечает за СУБД, команда 1С — за кластер, конфигурацию, техжурнал и прикладную логику, а руководитель ИТ отвечает за управляемость процесса в целом.
Если каждая команда использует собственный набор данных и собственную временную шкалу, диагностика быстро превращается в обмен предположениями. Чтобы избежать этого, гипотезы необходимо проверять по слоям и привязывать к одному и тому же интервалу инцидента.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Такой подход позволяет обсуждать не «чью-то вину», а проверяемые технические гипотезы. Это особенно важно в ситуациях, где симптом проявляется на одном уровне, а причина находится на другом. Например, высокий CPU на сервере СУБД может быть не первопричиной, а следствием неэффективного запроса из конфигурации.
Какие метрики нужны для диагностики нагрузки
Набор метрик должен позволять ответить не только на вопрос «что было перегружено», но и на вопрос «с какой пользовательской операцией это было связано». Поэтому мониторинг должен охватывать несколько уровней одновременно.
Инфраструктура
На инфраструктурном уровне анализируют использование CPU, памяти, диска и сети. Важно оценивать не только средние значения, но и пики, длительность пиков, совпадение с жалобами пользователей и процесс-источник нагрузки.
Высокое использование памяти само по себе не всегда указывает на проблему. В контурах с MS SQL Server и PostgreSQL часть памяти может использоваться под кэширование, что является нормальным поведением СУБД. Признаком риска становится не сам факт занятой памяти, а сочетание симптомов: рост ожиданий, активная работа с диском, вытеснение данных из кэша, замедление операций и совпадение этих признаков с пользовательской деградацией.
Для дисковой подсистемы значимы интенсивность чтения и записи, задержки операций ввода-вывода и устойчивые периоды высокой нагрузки. Если СУБД или сервер 1С вынуждены длительное время ожидать диск, производительность пользовательских операций может падать даже при умеренной загрузке CPU.
Сеть также не стоит исключать из анализа, особенно в распределённых архитектурах, при подключении внешних интеграций или работе с удалёнными пользователями. В публичном описании достаточно говорить о сетевой активности и возможной сетевой нестабильности, не обещая конкретных сетевых показателей, если они не собираются в конкретном контуре мониторинга.
СУБД
На уровне СУБД важны ожидания, долгие и часто выполняемые запросы, транзакции, блокировки, состояние индексов, память и кэширование, дисковые операции, активность по базам данных и регламентные операции.
Если база активно читает с диска, это не всегда означает нехватку памяти. Причина может заключаться в нормальной рабочей нагрузке, неэффективном запросе, недостаточном использовании индексов, изменении объёма данных, регламентной операции или ограничениях дисковой подсистемы. Поэтому корректный вывод появляется только после сопоставления нескольких признаков.
Рисунок 1 - Панель мониторинга параметров СУБД
Сервер 1С и техжурнал
Сервер 1С связывает пользовательские действия с прикладной логикой и обращениями к СУБД. Для диагностики важны процессы кластера, активность пользователей, базы, фоновые задания, длительные операции, серверные вызовы, запросы и ошибки.
Техжурнал особенно ценен тем, что помогает перейти от инфраструктурной картины к прикладному сценарию. Он позволяет увидеть, какие операции выполнялись в момент деградации, какие вызовы были длительными, какие запросы оказались ресурсоёмкими и была ли проблема связана с конкретным пользователем, базой, документом, отчётом или обработкой.
Прикладной код и конфигурация
На уровне конфигурации типовыми источниками деградации могут быть тяжёлые отчёты, массовые обработки, запросы в цикле, избыточные обращения к данным, длинные транзакции, фоновые задания и изменения после релиза. Один явно тяжёлый запрос — не единственный возможный сценарий. Большое количество частых серверных вызовов также может увеличивать время ответа, даже если каждый отдельный вызов не выглядит критичным.
Почему важна привязка ко времени
Диагностика производительности теряет ценность, если данные не привязаны к конкретному моменту инцидента. Жалоба «вчера 1С тормозила» почти бесполезна без уточнений. Для анализа нужны:
· точное время или интервал деградации;
· информационная база;
· пользователь, роль или подразделение;
· выполняемая операция;
· длительность операции;
· повторяемость симптома;
· недавние изменения в конфигурации, данных или инфраструктуре.
Если пользователи жалуются на замедление с 10:15 до 10:35, именно этот интервал должен стать основой анализа. За него необходимо сопоставить нагрузку на CPU, память, диск и сеть, состояние процессов сервера 1С, активность СУБД, долгие запросы, блокировки, ошибки, фоновые задания и изменения в поведении конкретной базы или группы пользователей.
Без такой синхронизации можно увидеть множество графиков, но не получить причинно-следственную картину.

Рисунок 2 - График использования памяти RAM
Практические сценарии диагностики
Ниже приведены не универсальные рецепты, а примеры того, как связывать симптомы, метрики и следующие действия. Конкретные пороги и интерпретации зависят от архитектуры, версии платформы, СУБД, конфигурации, профиля нагрузки и эксплуатационных регламентов.
Сценарий 1. Медленно проводится документ
Симптом: пользователи сообщают, что проведение документа стало занимать существенно больше времени.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Как интерпретировать:
· если ресурсы сервера в норме, но в техжурнале видна длительная операция или длительный запрос, вероятна прикладная или СУБД-гипотеза;
· если запрос связан с конкретным документом или обработкой, данные следует передать разработчику 1С;
· если наблюдаются ожидания или блокировки в СУБД, необходимо подключить DBA и администратора 1С;
· если одновременно растут дисковые задержки, следует проверить, является ли диск первичным ограничением или следствием тяжёлого запроса.
Что передать на разбор:
· точное время инцидента;
· базу;
· пользователя или роль;
· вид документа или операции;
· длительную операцию из техжурнала;
· связанный запрос;
· сведения о блокировках или ожиданиях;
· информацию о недавних изменениях конфигурации.
Сценарий 2. Производительность падает каждый день в одно и то же время
Симптом: замедление повторяется утром, в конце рабочего дня, при закрытии периода или во время регулярных операций.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Как интерпретировать:
· если деградация совпадает с фоновым заданием, первым решением может быть изменение расписания, а не доработка конфигурации;
· если одновременно выполняются обмены, массовые отчёты и обслуживание СУБД, нужно оценить конкуренцию за ресурсы;
· если проблема появляется только в периоды закрытия месяца или интенсивной отчётности, следует анализировать сценарии с учётом бизнес-календаря.
Сценарий 3. Ресурсы сервера свободны, но пользователи ждут
Симптом: CPU и память не выглядят перегруженными, однако пользовательские операции выполняются медленно.
В такой ситуации необходимо проверить блокировки, взаимоблокировки, ожидания в СУБД, длительные транзакции и операции, удерживающие данные. Если операция ожидает освобождения данных, добавление CPU или памяти может не изменить ситуацию. Причина может быть в порядке выполнения операций, длинной транзакции, тяжёлом запросе, сценарии проведения документа или фоновом задании.
Задача диагностики — определить участников блокировки, объект, сценарий и участок прикладной логики, который требует анализа. Для публичной статьи лучше использовать нейтральные термины «участники блокировки», «объект блокировки» и «сценарий выполнения», оставляя интерфейсные обозначения для технической документации продукта.
Типовые ошибки при анализе производительности 1С
Ошибка 1. Сразу покупать ресурсы
Высокая загрузка сервера не доказывает, что первопричина находится в инфраструктуре. Тяжёлый запрос из конфигурации может нагрузить СУБД, а это проявится как высокий CPU или интенсивный I/O. Сначала нужно связать нагрузку с операцией, базой, пользователем или заданием.
Ошибка 2. Смотреть только средние значения
Средняя загрузка за день может быть приемлемой, хотя в период с 10:15 до 10:35 пользователи фактически не могли работать. Для диагностики важны пики, интервалы и совпадение метрик с жалобами.
Ошибка 3. Анализировать каждый слой изолированно
Если администратор смотрит только сервер, DBA — только СУБД, а разработчик — только код, команда может не увидеть причинно-следственную связь. Производительность 1С часто нарушается на стыке слоёв.
Ошибка 4. Игнорировать техжурнал
Инфраструктурные метрики показывают, что ресурс занят. Техжурнал помогает понять, какие операции 1С выполнялись в этот момент и как они связаны с действиями пользователей.
Ошибка 5. Не фиксировать контекст инцидента
Фраза «вчера тормозило» не даёт диагностического материала. Нужны точное время, база, пользователь, операция, длительность и повторяемость.
Ошибка 6. Путать блокировки с нехваткой ресурсов
Если операции ожидают освобождения данных, масштабирование сервера может не устранить проблему. Требуется анализировать участников блокировки, объект и прикладной сценарий.
Ошибка 7. Не проверять расписание фоновой нагрузки
Резервное копирование, обмены, закрытие периода, обслуживание индексов, массовые отчёты и обработки могут создавать нагрузку в рабочее время. Иногда первое управленческое решение — не оптимизация кода, а изменение расписания.
Ошибка 8. Делать вывод по одному графику
Один график редко доказывает причину. Высокий CPU, долгий запрос или блокировка становятся диагностически значимыми только в контексте: когда это произошло, какой сценарий выполнялся и что ещё происходило в системе.
APDEX и пользовательское восприятие производительности
APDEX в контексте 1С следует трактовать аккуратно. Это не инструмент поиска первопричины и не замена анализу техжурнала, запросов или блокировок. Его роль — дать интегральную оценку удовлетворительности времени выполнения ключевых операций и помочь определить период, в котором требуется более детальная диагностика.
Иными словами, APDEX отвечает на вопрос: насколько приемлемым было время выполнения операций с точки зрения заданных нормативов. Но он не отвечает сам по себе на вопрос, почему операция выполнялась медленно. Для поиска причины показатель необходимо сопоставлять с данными сервера 1С, СУБД, инфраструктуры, запросов, ошибок и блокировок.
Такое разграничение особенно важно для управленческой коммуникации. APDEX удобен как индикатор деградации пользовательского опыта, но решение о причине должно приниматься только после анализа технических данных.
Рисунок 3 - Оценка APDEX
Как перейти от разовых расследований к регулярному мониторингу
Многие команды анализируют производительность 1С только в момент инцидента. Пользователи пожаловались, администратор посмотрел сервер, DBA проверил базу, разработчик открыл журнал. Через некоторое время проблема исчезла, но точная причина так и не была установлена.
Такой подход имеет три системных недостатка.
Во-первых, если данные не собирались заранее, после инцидента часто уже нечего анализировать.
Во-вторых, разные специалисты видят только свой слой и не всегда могут восстановить общую картину.
В-третьих, без истории невозможно понять, что именно изменилось: нагрузка выросла постепенно, резко или после конкретного релиза.
Регулярный мониторинг должен отвечать на вопросы:
· что происходило в момент жалобы;
· какие метрики изменились перед инцидентом;
· какой слой первым показал признаки деградации;
· какие операции повторяются как проблемные;
· какие базы, пользователи или задания создают основную нагрузку;
· связана ли проблема с релизом, расписанием или ростом данных;
· какие аномалии повторяются и требуют отдельного плана устранения.
Для этого нужны не только графики CPU и памяти, а связанная картина: инфраструктура, сервер 1С, СУБД, техжурнал, запросы, ошибки, блокировки, инциденты и, при необходимости, качество кода.
Какие решения принимать по результатам диагностики
Диагностика имеет практический смысл только тогда, когда по её результатам можно принять управленческое или инженерное решение. Не всегда таким решением будет «добавить ресурсы». Нередко правильнее изменить расписание, оптимизировать запрос, доработать конфигурацию или изменить процесс сопровождения.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Главный критерий зрелости мониторинга — не количество собранных графиков, а способность команды быстрее переходить от жалобы пользователя к проверяемой гипотезе и конкретному действию.
Вывод
Мониторинг нагрузки на сервер 1С должен отвечать не только на вопрос «загружен ли сервер». Более важный вопрос — почему конкретная пользовательская операция стала медленной и на каком уровне системы возникло ограничение.
Для этого необходимо связывать данные инфраструктуры, сервера 1С, СУБД, техжурнала, запросов, ошибок, блокировок, фоновых заданий и прикладного кода.
Если проблема находится в ресурсах, команда может обоснованно планировать масштабирование. Если причина в СУБД — анализировать ожидания, запросы, индексы и транзакции. Если ограничение связано с конфигурацией — передавать разработчику конкретный сценарий, запрос, участок логики и данные техжурнала. Если деградация вызвана расписанием — изменять эксплуатационный процесс.
Такой подход снижает риск случайных решений: докупить ресурсы, перезапустить службы, перенести базу или «оптимизировать всё подряд» без понимания причины.
Вступайте в нашу телеграмм-группу Инфостарт