|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
11.4.9. Счетчики для анализа производительности дисковой подсистемыАнализ загрузки диска средствами Системного монитора, Процент загрузки диска (% Disk Time), Текущая длина очереди диска (Current Disk Queue Length), % Активности диска при чтении (% Disk Read Time) и % Активности диска при записи (% Disk Write Time) Третья подсистема, мониторинг которой имеет смысл производить для сервера SQL Server 2005, — это дисковая подсистема. Она считается главной с точки зрения производительности для задач Data Warehousing, т. е. для хранилищ данных. Объяснение достаточно простое — по сравнению с обычными системами OLTP, наиболее распространенная операция в системах Data Warehouse — это полное сканирование всей таблицы. Операции изменения данных в системах Data Warehouse также очень редки. Поэтому роль кэша в них, в отличие от систем OLTP, невелика, а вот требования к дискам предъявляются намного серьезнее. По опыту практической работы можно отметить, что и для систем OLTP именно увеличение скорости работы дисковой подсистемы дает наибольший эффект. Главный счетчик для дисковой подсистемы — Процент загрузки диска (% Disk Time) для объекта Логический диск (Logical Disk) или Физический диск (Physical Disk). Объект Логический диск удобнее, поскольку информация показывается по разделам, но он почему-то не всегда доступен. Пороговое значение для этого счетчика формулируется так: в течение продолжительного промежутка времени значение не должно приближаться к 100%. Если дисковая подсистема постоянно загружена почти на 100%, то очевидно, что она является узким местом системы и ее надо заменить. Если вы не уверены, что за активность дисковой подсистемы ответственен именно SQL Server, имеет смысл проверить значение счетчика Обмен данными, байт в секунду (I/O bytes/sec) для объекта Процесс (сравнить это значение для экземпляра SQL Server и объекта _Total). Отметим лишь одну особенность счетчиков Процент загрузки диска для объектов Логический диск и Физический диск: они не всегда показывают точные значения при использовании RAID-массивов. Так, в практической работе иногда можно увидеть значение этого параметра более 100%. Однако больших проблем это не создает: при нормальной нагрузке на дисковую подсистему среднее значение этого счетчика должно быть существенно ниже 50%. Еще один счетчик, который можно использовать для проверки, — Текущая длина очереди диска (Current Disk Queue Length) для тех же объектов Физический диск и Логический диск. Этот параметр показывает, сколько запросов стоит в очереди на обработку дисковой подсистемы. Его значение на протяжении длительного промежутка времени не должно превышать 2 для одного диска (если, например, в RAID-массиве находится 10 дисков, то среднее значение этого счетчика не должно быть больше 20). Если вы не уверены, чем именно вызвана загрузка диска — операциями чтения или записи, то определить это помогут счетчики % Активности диска при чтении (% Disk Read Time) и % Активности диска при записи (% Disk Write Time) для объектов Физический диск и Логический диск. Если узким местом системы является диск (а это случается очень часто), то вариантов решения может быть несколько. Самое простое и очевидное из них — обновить дисковую подсистему, например, купив новый RAID-массив. Однако большой выигрыш могут дать и другие, более дешевые варианты решения. Очень часто лишние операции с диском возникают из-за проблем с индексами. Про оптимизацию системы индексов будет рассказываться далее в разд. 11.5.5. Большое влияние на производительность и отказоустойчивость работы SQL Server оказывает распределение файлов по дискам сервера.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||