При настройке производительности, что важнее:
- Процессорное время или прошедшее время?
- Существуют ли сценарии, в которых один из них важнее другого?
Пример: при настройке производительности время ЦП сократится на ~ 38%, а затраченное время увеличится на ~ 22%. Это улучшение ?
sql-server
performance
performance-tuning
Введите код
источник
источник
Ответы:
CPU Time - количество процессорного времени, затрачиваемое процессом. Это не указывает на продолжительность . «Истекшее время» представляет общую продолжительность задачи. Если в задании используется параллелизм 8 (т. Е. 8 потоков), и каждый поток используется со скоростью 100% в течение всей продолжительности задачи, время ЦП может составлять 8000 мс, а истекшее время - только 1000 мс.
Следовательно, более короткое «Истекшее время» указывает на более быстрое время отклика.
Вам может потребоваться более короткое время ЦП и более длительное время, если вы беспокоитесь о нагрузке на ЦП и не заботитесь о взаимодействии с пользователем.
Вы можете принять более длительное время ЦП, если это приведет к сокращению истекшего времени, поскольку это может указывать на то, что пользователь ожидает меньше, за счет более высокой загрузки ЦП.
Возможно, более важной метрикой для настройки запроса будет время ожидания .
источник
Это полностью зависит от того, что вы оптимизируете и почему. В самом общем смысле - скорость вывода запросов - это не улучшение, как отметил Макс Вернон в своем ответе.
Однако если ваша система привязана к процессору, это будет улучшением, поскольку вы уменьшите нагрузку на процессор. Фактически, если бы это было так, конечный результат мог бы также означать более быстрый возврат набора результатов.
И если бы ваша система была связана с диском или с памятью, это было бы нейтральным результатом, поскольку нет никаких признаков того, что она улучшала или ухудшала эти показатели.
Итак, в 95% случаев Макс абсолютно прав - это не улучшение. В оставшихся нескольких случаях это может быть улучшением.
источник