Сумма раз в моих результатах AQTime не совпадает с моим измеренным временем ответа

Я работаю над настройкой производительности продукта SAAS, написанного на C ++. Мы установили таймеры микросекундной точности в нескольких точках в коде, чтобы регистрировать, сколько времени занимают различные действия, и теперь я пытаюсь использовать AQTime для дальнейшего изучения и определения конкретных узких мест в некоторых наших более длительных запросах. Однако общее время, которое AQTime сообщает в той или иной функции и ее дочерних элементах, меньше, чем сообщают наши внутренние таймеры. Кто-нибудь испытывал это или знает, почему это может произойти? Может ли это быть связано с работой на виртуальной машине? В тех немногих функциях, которые я до сих пор описывал, разница довольно постоянна (время, отведенное AQTime, составляет около 60% времени, когда мы регистрируемся с нашего таймера ЦП), но я бы почувствовал себя намного увереннее, если бы узнал, что это случилось с другими базами кода, и это не просто наша особенность!

Спасибо большое!

0

Решение

Это поведение сильно зависит от используемого счетчика. Если вы используете счетчик User или User + Kernel Time, AQtime подсчитывает только время, потраченное CPU на выполнение вашего кода. Время, потраченное на выполнение кода других процессов или потоков, не учитывается в отличие от использования ручных таймеров.

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

Вы можете найти более подробную информацию о специфике различных счетчиков в Обзор счетчиков тема справочной системы AQtime.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]