Профилирование и замеры производительности

Добрый день, коллеги.
Столкнулся с жалобами пользователей на производительность ПО Terrasoft CRM (да и сам стал замечать). Чаще всего жалуются на долгое открытие карточек объектов. Так вот, вопрос в чем: пробовал ли кто-нибудь копать в сторону профилирования JScript-кода Terrasoft и подсчета времени какая функция сколько работает?

Нравится

9 комментариев

Есть scr_DebugUtils для тестирования отдельных функций. Также можно пройти процесс открытия в отладке, поставив debugger на OnPrepare и посмотреть, какой шаг долго срабатывает.

Здравствуйте.
Специально для таких целей инструментарий не создавали, но можно воспользоваться, например, той же Visual Studio: http://msdn.microsoft.com/ru-RU/library/dd264908.aspx. Так же желательно определить на каком этапе возникает задержка. Кроме Jscript это может быть и сеть и сервер. Для версии 5.4 на нашем ресурсе есть скрипт, который показывает разбивку по времени (клиент, сеть, сервер) выполнения того или иного действия: http://www.community.terrasoft.ua/blogs/8480. Ещё можно использовать такой инструмент как fiddler.

"Котенко Александр" написал:Для версии 5.4

Автора интересует 3.Х.

"Котенко Александр" написал:Так же желательно определить на каком этапе возникает задержка

Вот мне и нужно понять, где задержка: сервер БД или код.
Можете поподробнее рассказать как можно применять Visual Studio для профилирования JScript кода конфигурации Terrasoft CRM? Или то что вы написали относится исключительно к BPM Online?
У меня используется платформа Terrasoft 3.3.2.

Тут и тут и тут описано. Важно оттуда:

"Лучкив Александр" написал:Часто при разработке конфигурации необходимо ставить точки останова (Breakpoint) в скриптах для пошаговой отладки.

Для этого достаточно написать в скрипте команду:
debugger;

"Пунько Наталия" написал:Активируйте отладчик скриптов, установив ключ реестра JITDebug
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings]
"JITDebug"=dword:00000001
Прикрепленный файл
enabledebugger.rar

"Зверев Александр" написал:Тут и тут и тут описано.

Спасибо конечно, но как отлаживать конфигурацию Terrasoft я знаю. Я не знаю как профилировать код конфигурации и возможно ли это для Terrasoft CRM. Вот это относится только к BPM Online:
"Котенко Александр" написал:Специально для таких целей инструментарий не создавали, но можно воспользоваться, например, той же Visual Studio:
???

См. scr_DebugUtils. Инструменты BPMonline никак не связаны с 3.Х.

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

Тогда я пошел довольно не простым путем - смотрел где узкое место с помощью SQL Profiler, описал вот здесь:
Анализ быстродействия CRM с помощью SQL Profiler
С помощью этого метода я четко смог увидеть где проблема: на стороне скриптов и компьютера пользователя или на стороне сервера.

Только что добавил запись в блог с описанием разработанного мной функционала для поиска узких мест в выполнении функций:
Анализ времени выполнения скриптов и поиск "узкого" места в функционале

Показать все комментарии