Аналіз завантаження диска засобами системного монітора
Аналіз завантаження диска засобами Системного монітора, Відсоток завантаження диска (% Disk Time), Поточна довжина черги диска (Current Disk Queue Length),% Активності диска при читанні (% Disk Read Time) і% Активності диска при записі (% Disk Write Time)
З досвіду практичної роботи можна відзначити, що і для систем 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 надає розподіл файлів по дискам сервера.