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

10.10.25

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

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

Файлы

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

 

Тест

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

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

 

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

 

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

10.10.2025

У замера производительности установлен безопасный режим

 

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 Бесплатно (free)

В статье речь пойдет про взаимодействие сервера 1С с MS SQL. Мы очень часто слышим, как важно оптимизировать все критические участки системы заблаговременно, в плановом режиме, как надо, «от и до» во всех деталях. Но в реальной жизни бывает по-другому. Очень часто клиенты обращаются к нам, когда система уже не дает работать: «спасите, помогите, болит очень сильно, надо решать». Об одном из таких случаев я и хотел бы вам сегодня рассказать.

11.07.2017    56207    R.Tsarenko    32    

229

HighLoad оптимизация Программист Запросы Бесплатно (free)

Наверное, каждый 1С-ник задавался вопросом "что быстрее, соединение или условие в ГДЕ?" или, например, "сделать вложенный запрос или поставить оператор В()"? В данной статье я не дам вам исчерпывающих инструкций по чтению планов запроса. Но я постараюсь объяснить доходчиво - что это такое и с какой стороны к ним подойти.

04.07.2017    61253    Evil Beaver    59    

393

HighLoad оптимизация Администрирование СУБД Системный администратор Программист 1С v8.3 Бесплатно (free)

Многие интересуются PostgreSQL, но не знают, насколько хорошо будет она работать с уже существующими системами. «Инфософт» - одна из первых компаний, кто опробовал PostgreSQL на Windows. О своем опыте перехода рассказывает руководитель отдела информационных технологий компании.      

23.06.2017    50484    a.doroshkevich    113    

167

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

Я являюсь автором и тренером курсов по оптимизации и повышению производительности в 1С. Большинство людей приходят ко мне на обучение, желая разобраться со своими проблемами, и я очень часто слышу от них: «эти блокировки замучили, достали, жизни нет, что делать – не знаем. Технологический журнал включали, галочки ставили, форумы читали – ничего не помогает». Я уверен, что эта тема актуальна для многих из вас, поэтому в статье, не вдаваясь глубоко в подробности, я хочу вам дать некоторые конкретные рекомендации, которые вы сможете применить у себя и сразу получить ощутимый эффект. Например, если у вас запрос из-за блокировок выполняется 15 секунд, то после оптимизации он начнет выполняться за 15 миллисекунд. Это обычная практика, никакой фантастики – все это можно сделать.

13.06.2017    119724    Andreynikus    38    

455

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

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    59681    DarkAn    87    

207

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

Очень удобный способ, когда нам нужна не просто резервная копия, а "горячая" замена серверов.

19.05.2017    44558    MsDjuice    24    

73

HighLoad оптимизация Системный администратор Программист 1С v8.3 ИТ-компания Бесплатно (free)

Проведение нагрузочного тестирования WEB-сервисов, развернутых на платформе 1С. Целью тестирования является ознакомление с возможностями платформы 1С при работе с большим количеством запросов через опубликованные WEB сервисы на IIS 7.5

01.02.2017    33302    BraunAlex    34    

55
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Дмитрий74Чел 248 13.03.25 09:12 Сейчас в теме
Опишите пожалуйста подробнее свой инструмент. Что умеет, какие тесты что покажут? Тесты однопоточные/многопоточные (многопользовательские)? Каким Вы видите сценарий использования инструмента?
Хорошо бы указать реальный пример: сервер такой-то, показатели получили такие-то, сделали вывод такой-то.
Gilev.Vyacheslav; paulwist; +2 Ответить
6. ZAOSTG 190 22.03.25 21:02 Сейчас в теме
(1) Причесываю и инструмент и описание
2. Gilev.Vyacheslav 1921 13.03.25 14:38 Сейчас в теме
ну вот мой тест то как раз показывает потенциальные места, требующие внимания
а у вас по цифрам нельзя даже сказать что скорость клиента равна скорости сервера 1с или субд, какие уж тут узкие места, вы делаете ту же ошибку что и фрагстер - даете кучу разных операций, с которыми пользователь остается один на один и не понимает как это на практике применить
Прикрепленные файлы:
_aleksandr_678861; +1 Ответить
5. ZAOSTG 190 22.03.25 21:02 Сейчас в теме
(2) Цель номер один выполнена - разбудить неравнодушных )
Как доделаю обработку - будет точнее понятны отличия
3. life-wayfarer 17.03.25 18:10 Сейчас в теме
Так ты слона не продашь) Где документация с описанием?
4. ZAOSTG 190 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 190 23.06.25 15:54 Сейчас в теме
(7) Это ошибка сервера 1С - надо его рестартануть
или памяти на сервере не хватает
пока не знаю что с таким делать ... и надо ли
9. Mitelekk 28.07.25 16:36 Сейчас в теме
(8) Валентин, приветствую. К сожалению, по обработке "Анализируем SQL сервер глазами 1С-ника" отключены комменты.
Я скачал её, но по приложенной инструкции не могу запустить, выдает ошибку. Можете помочь?
Мой ТГ @DMitelkov

Полный текст ошибки:
Значение не является значением объектного типа (количество)
{ВнешняяОбработка.АнализSQLСервера.Форма.Форма.Форма(487)}:Элементы.ТекущееСоединние.Заголовок="Работаем с "+?(Объект.ДемоРежим,"ИмяБазы",Объект.SQLБаза)+?(ИзмененияКонфигурации.количество()=1," ( изменена "+ИзмененияКонфигурации[0].Дата_изменения_конфигурации+")","")+" на "+?(Объект.ДемоРежим,"ИмяSQLСервера",Объект.SQLServer)+"("+Объект.ВерсияSQLСервера+")"+?(Типзнч(ИнформацияОСервере[0].Запущен)=Тип("Число"),""," который запущен "+ИнформацияОСервере[0].Запущен)+ " и работает уже "+?(ИнформацияОСервере[0].Работает="",""+ИнформацияОСервере[0].Работает__дней+" дн. и "+ИнформацияОСервере[0].Работает__часов+" час.",ИнформацияОСервере[0].Работает);
{ВнешняяОбработка.АнализSQLСервера.Форма.Форма.Форма(80)}:База1СПриИзмененииНаСервере(ТолькоТекущая,НоваяБаза);
{ВнешняяОбработка.АнализSQLСервера.Форма.Форма.Форма(73)}:База1СПриИзмененииНаКлиенте(Истина);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
10. ZAOSTG 190 04.11.25 12:27 Сейчас в теме
(9) Проблема еще актуальна?
Для отправки сообщения требуется регистрация/авторизация