ответ

1

В многоядерных процессорах и современных архитектурах нелегко найти определение «потраченных» циклов процессора, связанных с интервалом времени, потребляемым/истекшим в вашей программе (мне интересно, SQL-процедура/запрос в соответствии с вашими тегами), например в старых предварительных суперскалярных архитектурах.

Я рекомендую вам найти другие показатели, процедуры или специальные инструменты для измерения вашей производительности. Я не являюсь пользователем SQL Server, но все профессиональные системы СУБД предлагают инструменты профилирования для настройки производительности DB/приложения.

Прочтите это сообщение и комментарии пользователей, это связано с функцией QueryPerformanceCounter Windows для приближения к учету «циклов». Дискуссия освещает, почему ваш подход, основанный на циклах, не является правильным, с моей точки зрения.

https://blogs.msdn.microsoft.com/oldnewthing/20080908-00/?p=20963/

+0

это то, что я ищу, как, если у меня есть процедура х с его счетами = ABC и его avgcpu = у, то мой TotalAvgCPU = а * у, в микросекундах, то, как мы должны преобразовать это TotalAvgCPU значение в терминах процессора, таких как МГц, ГГц и т. д.? –

+0

МГц/ГГц не являются реальными показателями производительности ЦП с Wintel с возрастом процессора Pentium, который вводит суперскалярные функции (параллельное аппаратное выполнение инструкций). Что вы хотите измерить? В каком контексте? Возможно, вам нужно более точное измерение, используя такие вещи, как «приборы» или профилирующие продукты. https://en.wikipedia.org/wiki/List_of_performance_analysis_tools –

+0

Для SQL Server, в частности, используйте инструмент SQLProfile. Как я вижу, он может измерять длительность, нагрузку на процессор, проблемы с потоками и т. Д. Https://support.microsoft.com/en-us/kb/224587 –

 Смежные вопросы

  • Нет связанных вопросов^_^