Замер производительности контура 1С и поиск узких мест

13.06.25

База данных - HighLoad оптимизация

Всегда присутствует задачи - насколько быстро работает наша система, и где "узкое место" - у пользователя "тормозит" не понятно где - надо удобно собрать его технологический журнал и найти причину

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Поиск тормозов на клиенте
.epf 2,18Mb ver:13.06.2025
4 1 850 руб. Купить
Замеряем производительность контура 1с
.epf 100,17Kb ver:13.06.2025
24 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Текущие варианты замера производительности имеют свои "особенности"

  1. Популярные тесты "гилев" и fragster создают свою тестовую базу, создавая более - менее полноценную нагрузку и позволяет сравнить производительность с другими - но не дает мало информации, где конкретно узкое место.
  2. Замеры типа "нагрузочный тест" показывают, сколько пользователей "выдержит" система, но не дает сравнения с другими системами и также не показывает узкие места.
  3. Замеры типа "апдекс" показывают достаточно странные данные - потому что даже один тип документа содержит разные данные как по типу, так и по количеству строк. И говорить, что система стала быстрее или медленнее, когда у всех разные права, разное количество документов, особенно в конце года, пользователей, и постоянно меняется конфигурация, по-моему, бессмысленно...

Первые два варианта при их достоинствах - изменяют производительность специальной тестовой базы. Которая может отличаться от рабочей настройками как на sql, так и режим совместимости 1С и тп.

Режим замеров - достаточно простой - долгий запрос и простые циклы. Понятно, очевидно и работает.

В будущем возможно усложню.

 

Как пользоваться и интерпретировать результаты.

Данная обработка позволяет в целевой рабочей базе запустить замер производительности.

Покажет индекс производительности клиента, сервера 1С и скуля и обмена между ними.

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

Данные БД не используются, не меняются, поэтому она безопасна для запуска и не требует особых прав.

В обработке две кнопки - Запустить и Отчет. Параметры только для отладки.

Сравнить разные сервера  - и увидеть что они одинаковые или один быстрее и в каком именно тесте и разбираться почему.

 

Тест

С одной стороны относительный - каждый элемент примерно отнормирован к 100 "баллам" и общий итог - среднее по всем тестам тоже "стремиться к 100". Новые тесты так же будут отнормированны, но на общий результат будут влиять не увеличением итого, а большей детализацией.

С  другой стороны, есть колонка "Длительность мс" - где наглядно видна разница в организации циклов и затраты времени на вызовы функций клиента и сервера... 

 

Протестирована на платформе 8.3.25.1501.  

 

 
История изменений 

13.06.2025

Причесан код

 

25.05.2025

Выделил отдельно Сервер1ССерверSQL- стало информативнее

 

 

18.05.2025

Выделил отдельно КлиентСервер- стало информативнее

 

 18.05.2025

Пара новых тестов

 

28.04.2025

Пара новых тестов

 

Проверено на следующих конфигурациях и релизах:

  • Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.32.39
  • 1С:ERP Управление предприятием 2, релизы 2.5.22.67
  • 1С:Управление холдингом 3.2 (русский и английский интерфейсы), релизы 3.2.10.27
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.176.38
  • Документооборот КОРП, релизы 2.1.36.3
  • Документооборот КОРП, редакция 3.0, релизы 3.0.17.36
  • Комплексная автоматизация, редакция 1.1, релизы 3.1.9.188

Вступайте в нашу телеграмм-группу Инфостарт

См. также

HighLoad оптимизация Программист 1С v8.3 1C:ERP Бесплатно (free)

Приведем примеры использования различных в динамических списках и посмотрим, почему это плохо.

18.02.2025    5243    ivanov660    39    

59

HighLoad оптимизация Технологический журнал Системный администратор Программист Бесплатно (free)

Обсудим поиск и разбор причин длительных серверных вызовов CALL, SCALL.

24.06.2024    7879    ivanov660    13    

60

HighLoad оптимизация Программист 1С v8.3 Бесплатно (free)

Метод очень медленно работает, когда параметр приемник содержит намного меньше свойств, чем источник.

06.06.2024    13126    Evg-Lylyk    69    

45

HighLoad оптимизация Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    6373    spyke    29    

51

HighLoad оптимизация Программист 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    9516    vasilev2015    22    

44

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

5 стартмани

15.02.2024    15923    310    ZAOSTG    100    

122
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Дмитрий74Чел 249 13.03.25 09:12 Сейчас в теме
Опишите пожалуйста подробнее свой инструмент. Что умеет, какие тесты что покажут? Тесты однопоточные/многопоточные (многопользовательские)? Каким Вы видите сценарий использования инструмента?
Хорошо бы указать реальный пример: сервер такой-то, показатели получили такие-то, сделали вывод такой-то.
Gilev.Vyacheslav; paulwist; +2 Ответить
6. ZAOSTG 186 22.03.25 21:02 Сейчас в теме
(1) Причесываю и инструмент и описание
2. Gilev.Vyacheslav 1920 13.03.25 14:38 Сейчас в теме
ну вот мой тест то как раз показывает потенциальные места, требующие внимания
а у вас по цифрам нельзя даже сказать что скорость клиента равна скорости сервера 1с или субд, какие уж тут узкие места, вы делаете ту же ошибку что и фрагстер - даете кучу разных операций, с которыми пользователь остается один на один и не понимает как это на практике применить
Прикрепленные файлы:
_aleksandr_678861; +1 Ответить
5. ZAOSTG 186 22.03.25 21:02 Сейчас в теме
(2) Цель номер один выполнена - разбудить неравнодушных )
Как доделаю обработку - будет точнее понятны отличия
3. life-wayfarer 17.03.25 18:10 Сейчас в теме
Так ты слона не продашь) Где документация с описанием?
4. ZAOSTG 186 19.03.25 13:38 Сейчас в теме
(3) Вернул в состояние мыши. Были причины повысить цену
7. megatrend 131 23.06.25 15:47 Сейчас в теме
Добрый день! Поймал ошибку:

ВнешняяОбработка.ОценкаПроизводительности1С.Форма.Форма.Форма(485)}: Ошибка при вызове метода контекста (Выполнить)

Недостаточно памяти для получения результата запроса к базе данных

"stack": [
[
"ВнешняяОбработка.ОценкаПроизводительности1С.Форма.Форма.Форма",
159,
"\u0009\u0009\u0009\u0009ТаймСтамп = ДолгийЗапросНаСервере(ТекЦикл*ТекИтерация,ЗамерыВМилисекундах\/10);"
]
8. ZAOSTG 186 23.06.25 15:54 Сейчас в теме
(7) Это ошибка сервера 1С - надо его рестартануть
или памяти на сервере не хватает
пока не знаю что с таким делать ... и надо ли
Оставьте свое сообщение