Поделиться через


Контроль использования диска

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 и получения рекомендаций для индексов, индексированных представлений и секционирования для улучшения работы сервера. Дополнительные сведения об инициализации помощника по настройке ядра СУБД см. в разделе Настройка физической структуры базы данных.