APDEX для проведения документов упал до 0,57 при целевом времени пять секунд. Такой пример приводит методическая поддержка 1С. Число подтверждает жалобу пользователей, но не называет виновника.

Причина может скрываться в прикладном коде, блокировке, запросе к СУБД, диске или клиентской части. Чтобы не менять сервер наугад, разделите диагностику на три слоя: APDEX, технологический журнал и метрики инфраструктуры.

APDEX показывает, какая операция не укладывается в ожидания

APDEX сравнивает время пользовательской операции с целевым временем T. Порог задаёт бизнес: сервер не знает, сколько бухгалтер готов ждать проведения реализации.

Методика делит замеры на три группы. Операция до T получает полный вес, от T до 4T — половину, свыше 4T — ноль.

Время операцииКласс APDEXВес в расчётеЧто видит администратор
До T включительноУдовлетворяет1Пользователь получил результат в согласованный срок
От T до 4TТерпимо0,5Операция заметно задержалась, но завершилась
Более 4TРаздражает0Пользователь ждал дольше допустимого
Нет замераНе входит в расчёт—По операции нельзя судить без дополнительного измерения

Из таблицы следует главное: оценка зависит не только от сервера, но и от выбранного T.

Посчитаем APDEX для 100 проведений. Пусть 70 документов провелись до T, ещё 20 заняли от T до 4T, а оставшиеся 10 превысили 4T.

Формула из методической поддержки 1С выглядит так:

APDEX = (NS + NT / 2) / N

Подставляем исходные данные:

APDEX = (70 + 20 / 2) / 100 = 0,80

Если число операций изменится, пересчитайте три группы. Сама формула останется прежней.

Порог T нельзя брать из характеристик процессора или диска. Сначала выберите пользовательскую операцию, затем согласуйте допустимое время с теми, кто её выполняет.

Для первого запуска можно взять опубликованные ориентиры стороннего проекта Fast1C: три секунды на открытие формы, пять — на проведение документа, десять — на отчёт, две — на запись элемента справочника. Это стартовые значения, а не норматив 1С. После недели наблюдений сопоставьте их с рабочими сценариями компании.

Не смешивайте разные операции в один показатель. Быстрое открытие формы способно скрыть медленное проведение, если первое происходит чаще.

Рабочее время и ночь тоже лучше считать отдельно. Иначе тяжёлые регламентные задания изменят общий график, хотя пользователи в этот момент не работают. Фоновые задания не относятся к пользовательскому опыту и не должны попадать в его APDEX.

Один APDEX не покажет, куда ушло время

Замер APDEX ставят внутри прикладной операции. Он знает начало и конец действия, например проведения реализации. ОС, СУБД и кластер 1С этих границ не видят.

Внешний замер серверного вызова тоже не заменяет APDEX. Он не охватывает клиентскую часть и может начинаться позже самой пользовательской операции.

Вопрос администратораОтвечает ли APDEXЧем дополнить
Какая операция замедлиласьДа, если для неё настроен отдельный замерНазванием сценария и согласованным T
Когда началось отклонениеДа, по временному графикуТочным интервалом и жалобой пользователя
Задержал ли работу SQL-запросНетТехжурналом и анализом плана запроса
Ждала ли операция блокировкуНетСобытиями платформы и данными СУБД
Тормозила ли клиентская частьНе всегдаЗамером внутри всей операции и наблюдением на клиенте
Хватало ли процессора, памяти и дискаНетМетриками ОС и хоста
Замедлился ли конкретный rphostНетМетриками кластера и рабочего процесса

APDEX годится для поиска пострадавшей операции и интервала. Причину задержки он не локализует.

Не сравнивайте одно значение с чужой системой без контекста. Даже одинаковый T не гарантирует одинаковые границы замера, состав пользователей и набор операций.

Смотрите прежде всего на собственный тренд. Если проведение держалось около одного уровня, а после обновления график просел, у вас появился интервал для дальнейшего поиска.

Техжурнал восстанавливает события вокруг задержки

Официальная документация платформы 1С описывает технологический журнал как набор текстовых файлов. В него попадают сведения от клиентских и серверных приложений на конкретном компьютере.

Техжурнал нужен после того, как APDEX указал операцию и время отклонения. Вы берёте узкий интервал, находите события рядом с задержкой и восстанавливаете их последовательность.

События с длительностью помогают увидеть, на каком участке ушло время. Но одна длинная запись ещё не доказывает причину. Её нужно сопоставить с соседними событиями, жалобой пользователя, журналом регистрации и состоянием ОС.

СитуацияЧто сопоставить по времениЧего это ещё не доказывает
Документ проводится дольше TНачало замера, длительные события платформы, обращения к СУБДЧто серверу не хватает процессора
Сеанс периодически зависаетПовторяющиеся задержки, события клиента и сервера, состояние сетиЧто проблема одинакова у всех пользователей
Рабочий процесс завершилсяПоследние события процесса, дамп, журнал ОСЧто сбой вызвала информационная база
Задержка появилась после измененияВремя изменения, первый провал APDEX, события до и после негоЧто найденное совпадение означает причинную связь
Ночью выросло время заданийИнтервал задания, загрузку СУБД и хостаЧто пользователи испытывали ту же задержку днём

Техжурнал даёт цепочку событий, но вывод появляется только после сверки нескольких наблюдений.

Журнал регистрации отвечает на другой вопрос. Он фиксирует действия пользователей и события информационной базы. Техжурнал описывает работу платформы и её компонентов. Для одного инцидента часто нужны оба.

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

Подробный техжурнал включают на ограниченный срок

Файл logcfg.xml задаёт состав событий, каталог записи и срок хранения. Официальная документация 1С показывает конфигурацию с записью в отдельный каталог и хранением файлов в течение часа.

Полная запись всех событий без фильтров расходует место и добавляет нагрузку. Если журнал заполнит раздел, рабочие процессы могут остановиться. Поэтому системный диск — плохое место для подробного сбора.

Перед включением ответьте на три вопроса: какую операцию исследуете, какой временной интервал нужен и какие события проверяют вашу гипотезу. Формулировка «запишем всё, потом найдём» перекладывает отбор на момент, когда каталог уже заполнен тысячами записей.

Имя конфигурационного файла должно быть logcfg.xml. Корневой элемент — config, а параметры записи размещают в разделах log. Атрибут location задаёт каталог, history ограничивает срок хранения.

Проверьте синтаксис XML до переноса файла на рабочий сервер. В PowerShell это делает команда:

[xml](Get-Content "C:\1C\conf\logcfg.xml") | Out-Null

Команда без ошибки подтверждает только корректный XML. Она не проверяет имена событий, права на каталог, объём диска и соответствие конфигурации вашей версии платформы.

После применения убедитесь, что файлы появились в ожидаемом каталоге. Затем вызовите исследуемую операцию на контролируемом сеансе и проверьте, попал ли нужный интервал в журнал.

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

Не оставляйте подробный сбор после диагностики. Сохраните найденный интервал отдельно, верните узкую постоянную конфигурацию и проверьте свободное место.

Метрики ОС, кластера и СУБД проверяют гипотезу

После чтения техжурнала у вас должна появиться проверяемая версия. Например: задержка совпала с ожиданием СУБД, рабочий процесс потерял доступную производительность или хост ждал диск.

Дальше смотрите на тот слой, который способен подтвердить эту версию. Метрики процессора не объяснят блокировку в СУБД, а график диска не покажет границы проведения документа.

Рабочие процессы rphost исполняют прикладной код и сами подключаются к базе. Отдельного процесса кластера для доступа к СУБД нет. Поэтому состояние rphost, хоста и СУБД нужно сверять на одной временной шкале.

Метрика available_performance отражает доступную производительность рабочего процесса и среднее время вызовов. Кластер рассчитывает её по периодическому эталонному вызову и усредняет результат за последние 5–10 минут.

Из-за усреднения короткий пик может сгладиться. Кроме того, показатель относительный: по нему нельзя сравнивать разные серверы или клиентов. Используйте его для наблюдения за одним рабочим процессом во времени.

НаблюдениеГде проверятьКакой вывод допустим
APDEX просел у одной операцииЗамеры внутри прикладного кодаПострадал конкретный пользовательский сценарий
В техжурнале рядом есть длительное ожиданиеТехжурнал и журнал регистрацииНайден участок для проверки, но не окончательная причина
Изменился available_performance одного rphostМетрики кластераСостояние рабочего процесса отклонилось от его обычного уровня
В тот же интервал изменились метрики хостаОС и система мониторингаГипотеза о ресурсе получила подтверждение
СУБД показывает ожидание или блокировкуСредства мониторинга СУБДПричину нужно искать в запросе, транзакции или конкуренции сеансов
Метрики всех слоёв спокойныГраницы замера и клиентская частьВозможно, наблюдение не охватывает участок с задержкой

Совпадение по времени сужает поиск. Причиной его делают повторяемость и проверка на подходящем слое.

Для Linux, серверных процессов 1С и PostgreSQL этот маршрут показан в материале о связке инфраструктурных метрик. Если 1С уже тормозит, используйте порядок проверки от сеанса до дисков, чтобы не перескакивать сразу к замене оборудования.

Не переносите пороги времени отклика диска из обсуждений сообщества как универсальную норму. Без документации производителя и условий замера такое число не учитывает тип накопителя, очередь, контроллер и характер нагрузки.

Схема мониторинга на ближайший день

Начните с двух-трёх операций, по которым пользователи чаще замечают задержки. Для каждой задайте собственный T и отдельный APDEX. Опубликованные ориентиры используйте только до согласования с пользователями.

Дальше настройте одинаковую временную шкалу для APDEX, техжурнала и метрик инфраструктуры. Часы на серверах и рабочих станциях должны показывать сопоставимое время, иначе события одного инцидента разъедутся по разным минутам.

Рабочая последовательность выглядит так:

  1. Зафиксируйте пользовательскую операцию и её границы.
  2. Согласуйте T и разделите рабочее время с ночным.
  3. При снижении APDEX запишите операцию и точный интервал.
  4. Включите отфильтрованный техжурнал на срок наблюдения.
  5. Сопоставьте события с журналом регистрации и жалобой пользователя.
  6. Проверьте гипотезу метриками кластера, ОС или СУБД.
  7. После диагностики отключите подробный сбор и проверьте место на диске.

После настройки проведите контрольную операцию. На графике должен появиться её замер, в техжурнале — нужный интервал, а инфраструктурные метрики должны открываться на той же временной шкале.

Правило для дежурного администратора короткое. APDEX отвечает, когда и кому стало медленно. Техжурнал показывает, что происходило в этот момент. Метрики ОС, кластера и СУБД подтверждают компонент или ресурс. Ни один слой не заменяет два остальных.

apdex администрирование 1с мониторинг 1с производительность 1с технологический журнал