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

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