Вопрос быстродействия зависит от нескольких факторов – быстродействие ресурса, локальной сети, интернет-соединения и т.д. Заявленное время открытия карточки для версии 5.3 – 2-3 секунды. В 5.2 это немного медленнее, в 5.4 – немного быстрее.
Для того, чтобы проанализировать, на каком этапе теряется производительность, следует провести проверку быстродействия BPMonline.
Вам понадобится:
Google Chrome с установленным компонентом Инструмент разработчика (как правило, установлен по умолчанию).
Как получить детализированную информацию о скорости загрузки отдельной страницы:
1. Откройте необходимую страницу (например, страницу карточки контакт) и дождитесь ее полной загрузки. После этого активируйте инструменты разработчика:
2. Откройте в инструментах разработчика консоль:
3. Вставьте в консоль скрипт (ниже) и нажмите Enter.
if (typeof PageContainer_HtmlMainPage === 'object') {
var mainPageWindow = PageContainer_HtmlMainPage.getWin();
}
var targetWindow = mainPageWindow || window;
var manager = targetWindow.Terrasoft.PerformanceCounterManager;
manager.getProfileInfo();
var performance = targetWindow.performance || targetWindow.mozPerformance||
targetWindow.msPerformance || targetWindow.webkitPerformance;
var timing = performance.timing;
var navigationStart = timing['navigationStart'];
var responseStart = timing['responseStart'];
var responseEnd = timing['responseEnd'];
var loadEventEnd = timing['loadEventEnd'];
var onReadyEnd = manager.getCounter('onReady').finishTime;
var networkTime = timing['responseEnd'] - timing['responseStart'];
var serverTime = responseStart - navigationStart;
var parseJsTime = loadEventEnd - responseEnd;
var execJsTime = onReadyEnd - loadEventEnd;
var fullTime = serverTime + networkTime + parseJsTime + execJsTime;
var output = 'Передача запроса + Обработка на сервере: ' + serverTime + '\nПрием ответа: ' + networkTime + '\nПарсинг JavaScript: ' + parseJsTime +
'\nВыполнение JavaScript:' + execJsTime + '\nОбщее время: ' + fullTime;
return output;
})();
4. После того, как скрипт выполнится, в консоли внизу появится результат выполнения скрипта:
5. Кроме того, следует произвести тестирование скорости обращения к серверу по следующей ссылке:
http://speed.bpmonline.com/
По результатам проверки можно определить, на каком этапе теряется производительность, и устранить узкие места.
Также хочу обратить Ваше внимание, что если на основной конфигурации ведется разработка (в частности, публикация схем) в момент, когда пользователи работают, это может сильно сказываться на производительности. Это связано с архитектурой – для мгновенного применения изменений необходим перезапуск сайта, который и происходит в автоматическом режиме. Это занимает некоторое время.
Это справедливо для версий 5.3 и новее. Для версии 5.2 IIS автоматически не перезапускается, и при интенсивной разработке по завершении доработок в конфигурации имеет смысл перезапустить его вручную.
Интересный показометр. Как бы для "тройки" такое сделать...
Павел, уточните, пожалуйста, какая у Вас версия и какой браузер используется?
Очень похоже, что компонент таймера загрузки (targetWindow.Terrasoft.PerformanceCounterManager), к которому мы обращаемся в скрипте, не существует либо недоступен.
"paveles" написал:А что могут означать отрицательные значения в результате:
"Обработка на сервере: 644
Сеть: 14
Парсинг JavaScript: 243
Выполнение JavaScript:-5437
Общее время: -4536"
Такое иногда бывает.
Если в результатах выполнения скрипта существуют отрицательные значение, то эти данные не корректны. В таком случае необходимо обновить страницу (F5) и выполнить скрипт повторно.
Также, есть замечательный инструмент, который дает более подробную картину происходящего - это Fiddler:
1. Установить Fiddler http://www.getfiddler.com/dl/Fiddler2Setup.exe
2. Запустить.
3. Включить опцию дешифровки https запроса.
Меню Tools->Fiddler Options.
В появившемся окне выбрать вкладку HTTPS и установить флажок “Decrypt HTTPS traffic”, после чего нажать кнопку “OK”. На все вопросы отвечать “Yes”
4. Перед тем как профайлить нужные действия, необходимо очистить список сессий в Fiddler.
5. Выполнить действия, которые необходимо запрофайлить. Сценарий ниже.
6. Сохранить сессии в файл. Меню File->Save->All Sessions.
Это статья относится к 5.Х, а в нынешней 7.Х движок пользовательского интерфейса полностью другой. Но совет Арсения по поводу Fiddler стал ещё актуальнее, поскольку много операций теперь вынесено на клиентскую сторону и обмен браузера данными с сервером стал доступнее для анализа.