Контроль использования ЦП
Периодически контролируйте экземпляр Microsoft SQL Server, чтобы определить, находятся ли уровни загрузки ЦП в стандартных диапазонах. Постоянный высокий уровень использования ЦП может указывать на необходимость обновления ЦП или на необходимость добавления нескольких процессоров. Кроме того, высокий уровень использования ЦП может указывать на плохо настроенное или плохо разработанное приложение. Оптимизация работы приложения может снизить уровень загрузки ЦП.
Эффективным способом определения уровня загрузки ЦП является использование счетчика Процессор: % загруженности процессора в служебной программе «Системный монитор». Этот счетчик отслеживает время, которое ЦП тратит на выполнение потока во время работы. Постоянный уровень загрузки ЦП в диапазоне от 80 до 90 % может указывать на необходимость обновления ЦП или на необходимость добавления нескольких процессоров. При работе с многопроцессорными системами следите за отдельным экземпляром упомянутого счетчика для каждого процессора. Это значение представляет суммарное процессорное время указанного процессора. Для определения среднего времени загрузки для всех процессоров используйте вместо этого счетчика счетчик Система: % общего процессорного времени.
Дополнительно можно контролировать следующие счетчики:
Процессор: % работы в привилегированном режиме;
Соответствует проценту процессорного времени, затраченного на выполнение команд ядра операционной системы Microsoft Windows, таких как обработка запросов ввода-вывода SQL Server. Если значение этого счетчика постоянно высокое, в то время как счетчики для объекта Физический диск также имеют высокие значения, то необходимо рассмотреть вопрос об установке более быстрой и более эффективной дисковой подсистемы.
Примечание На обработку запросов от различных контроллеров дисков и самих дисковых накопителей ядром операционной системы тратится различное количество времени. Эффективные контроллеры и дисковые накопители используют меньше привилегированного времени, оставляя больше времени для обработки запросов пользовательских приложений, увеличивая общую пропускную способность.
Процессор: % работы в пользовательском режиме;
Соответствует проценту времени работы процессора, которое он затрачивает на выполнение пользовательских приложений, например SQL Server.
Система: Длина очереди процессора.
Соответствует количеству потоков, ожидающих обработки процессором. Если потокам некоторого процесса требуется больше циклов процессора, чем это возможно, значит, узким местом системы является процессор. Если количество процессов, требующих обработки процессором, велико, необходимо установить более быстрый процессор. Или, в многопроцессорной системе, необходимо добавить еще один процессор.
При оценке использования процессора необходимо принять во внимание тип работы, выполняемой экземпляром SQL Server. Если SQL Server выполняет много вычислений, таких как запросы на обработку статистических выражений или запросы к рабочей области, не требующие дисковых операций ввода-вывода, то может быть использовано 100 % процессорного времени. Если это приводит к снижению производительности других приложений, попробуйте изменить рабочую нагрузку. Например, выделите компьютер целиком для работы только экземпляра SQL Server.
Уровни загрузки ЦП около 100 % при обработке многочисленных запросов клиентов могут указывать на то, что процессы стоят в очереди, ожидая обработки процессором, который является узким местом системы. Данная проблема может быть решена установкой более быстрых процессоров.