Контроль использования диска
Microsoft SQL Server использует вызовы системных функций ввода-вывода операционной системы Microsoft Windows для выполнения дисковых операций чтения и записи. SQL Server определяет, когда и как выполнять дисковые операции ввода-вывода, но базовые операции ввода-вывода выполняет операционная система Windows. Подсистема ввода-вывода включает системную шину, платы контроллера диска, диски, накопители на магнитной ленте, дисковод компакт-дисков и много других устройств ввода-вывода. Дисковые операции ввода-вывода часто являются узким местом в системе.
Контроль активности диска состоит из двух областей, на которые необходимо обратить внимание:
- Контроль дисковых операций ввода-вывода и обнаружение излишней подкачки.
- Изоляция активности диска, создаваемой SQL Server.
Контроль дисковых операций ввода-вывода и обнаружение излишней подкачки
Два счетчика, которые могут контролироваться для определения активности диска:
- Физический диск: % дискового времени
- Физический диск: Средняя длина очереди диска
В системном мониторе счетчик Физический диск: % дискового времени контролирует процент времени, когда диск занят операциями чтения и записи. Если счетчик Физический диск: % дискового времени имеет высокое значение (больше чем 90 процентов), проверьте счетчик Физический диск: Текущая длина очереди диска, чтобы увидеть количество системных запросов, ожидающих доступ к диску. Количество ожидающих запросов ввода-вывода должно соответствовать продолжительности не более чем 1,5 — 2 оборота шпинделя, производимых физическим диском. Большинство дисков имеет один шпиндель, хотя устройства избыточного массива независимых дисков (RAID) обычно имеют больше чем один шпиндель. Аппаратное устройство RAID в системном мониторе выглядит как один физический диск. Устройства RAID, созданные программными средствами отображаются в системном мониторе как несколько экземпляров.
Используйте значения счетчиков Текущая длина очереди диска и % времени диска для обнаружения узких мест в дисковой подсистеме. Если значения счетчиков Текущая длина очереди диска и % времени диска относительно высоки, рассмотрите выполнение одного из следующих вариантов:
- Использование более быстрого диска.
- Перемещение некоторых файлов на дополнительный диск или сервер.
- Добавление дисков к массиву RAID, если он используется.
Если используется устройство RAID, счетчик % времени диска может указывать значение, больше чем 100 процентов. Если это так, используйте счетчик Физический диск: Средняя длина очереди диска, чтобы определить, сколько системных запросов в среднем ожидают доступа к диску.
Приложения и системы, связанные с вводом-выводом, могут постоянно держать диск в активном состоянии.
Контролируйте счетчик Память: Ошибки страниц/сек. Он позволяет убедиться, что активность диска не вызвана трансляцией страниц. В операционной системе Windows разбиение на страницы может быть вызвано:
- процессами, настроенными на использование слишком большого объема памяти;
- активностью файловой системы.
Если на одном жестком диске существует больше одного логического раздела, используйте счетчики Логический диск, а не счетчики Физический диск. Наблюдайте за счетчиками логических дисков, чтобы определить, к каким файлам часто обращаются. После того как найдены диски с высоким уровнем активности чтения и записи, просмотрите отдельные счетчики чтения и записи, чтобы узнать тип активности диска, который вызывает загрузку на каждом логическом томе, например Логический диск: Скорость записи на диск (байт/сек).
Изоляция активности диска, созданной SQL Server
Два счетчика, которые могут быть проверены для определения объема операций ввода-вывода, создаваемого компонентами SQL Server:
- SQL Server:Диспетчер буферов:Чтение страниц/сек
- SQL Server:Диспетчер буферов:Запись страниц/сек
В системном мониторе эти счетчики контролируют объем операций ввода-вывода, формируемый компонентами SQL Server, путем изучения следующих областей производительности:
- Запись страниц на диск
- Считывание страниц с диска
Если значения счетчиков приближаются к пределу пропускной способности оборудования подсистемы ввода-вывода, попытайтесь уменьшить значения путем настройки приложения или базы данных, чтобы уменьшить объем операций ввода-вывода (например: увеличением объема индексированных данных, улучшением индексов или нормализацией), увеличивая пропускную способность оборудования ввода-вывода или добавляя память. Например, можно использовать помощник по настройке ядра СУБД для анализа обычных рабочих нагрузок SQL Server и получения рекомендаций для индексов, индексированных представлений и секционирования для улучшения работы сервера. Дополнительные сведения об инициализации помощника по настройке ядра СУБД см. в разделе Настройка физической структуры базы данных.