SQL Server, объект Buffer Manager

Объект Buffer Manager предоставляет счетчики, позволяющие следить за тем, как SQL Server использует следующие ресурсы:

  • память для хранения страниц данных, внутренних структур данных и кэша процедур;

  • счетчики, служащие для мониторинга физического ввода-вывода, когда SQL Server считывает и записывает страницы баз данных.

Наблюдение за памятью и счетчиками, используемыми SQL Server, помогает узнавать следующее.

  • Существуют ли «узкие места», вызванные недостатком физической памяти. Если часто используемые данные не могут быть сохранены в кэше, SQL Server вынужден считывать их с диска.

  • Можно ли повысить эффективность выполнения запросов, увеличив объем памяти или выделив дополнительную память для кэширования данных или хранения внутренних структур SQL Server.

  • Насколько часто SQL Server считывает данные с диска. В сравнении с другими операциями, такими как доступ к памяти, физический ввод-вывод выполняется дольше. Уменьшение объема ввода-вывода может повысить эффективность выполнения запросов.

Кроме того, можно следить за активностью расширений AWE в SQL Server, используя для этого счетчики AWE. Например, можно проверить, достаточно ли памяти, выделенной в SQL Server для расширений AWE, для ее нормального функционирования. Дополнительные сведения см. в разделе Архитектура оперативной памяти, Использование расширений AWE или Параметр awe enabled.

Объекты производительности Buffer Manager в SQL Server описаны в следующей таблице.

Счетчики диспетчера буферов SQL Server

Описание

AWE lookup maps/sec

Количество запросов страницы базы данных сервером, ее обнаружений в буферном пуле и ее сопоставлений (в секунду). При сопоставлении страница становится частью виртуального адресного пространства сервера.

AWE stolen maps/sec

Количество извлечений буфера из свободного списка и его сопоставлений (в секунду).

AWE unmap calls/sec

Число вызовов, инициирующих отмену сопоставлений буферов (в секунду). При отмене сопоставления буфера он исключается из виртуального адресного пространства сервера. При каждом вызове можно отменить сопоставление одного или нескольких буферов.

AWE unmap pages/sec

Число буферов SQL Server, сопоставления которых отменяются за одну секунду.

AWE write maps/sec

Количество сопоставлений буфера измененных страниц, необходимых для его записи на диск (в секунду).

Buffer cache hit ratio

Доля страниц, обнаруженных в буферном кэше без чтения с диска. Это значение определяется как общее число попаданий в кэше, деленное на количество уточняющих запросов кэша за последние несколько тысяч операций доступа к страницам. По прошествии длительного периода это соотношение изменяется очень слабо. Так как чтение из кэша выполняется гораздо быстрее, чем с диска, следует стремиться к наибольшему значению этого показателя. Как правило, его можно повысить, увеличив объем памяти, доступной SQL Server.

Checkpoint pages/sec

Число страниц, записываемых на диск за одну секунду при создании контрольной точки или выполнении другой операции, требующей, чтобы все «грязные» страницы были записаны на диск.

Database pages

Число страниц с содержимым базы данных в буферном пуле.

Free list stalls/sec

Число инициированных за одну секунду запросов, которым пришлось дожидаться свободной страницы.

Free pages

Общее число страниц во всех свободных списках.

Lazy writes/sec

Число буферов, записываемых за одну секунду модулем отложенной записи, входящим в диспетчер буферов. Модуль отложенной записи — это системный процесс, который записывает на диск пакеты измененных старых буферов (буферов, содержащих изменения, которые необходимо записать на диск, прежде чем буфер можно будет использовать повторно для другой страницы) и предоставляет доступ к ним для пользовательских процессов. Модуль отложенной записи устраняет необходимость частого создания контрольных точек с целью получения доступных буферов.

Page life expectancy

Время (в секундах), которое страница будет оставаться без ссылок в буферном пуле.

Page lookups/sec

Число инициируемых за секунду запросов поиска страницы в буферном пуле.

Page reads/sec

Число инициируемых за одну секунду физических операций чтения страниц баз данных. Этот статистический показатель отражает общее количество физических операций чтения страниц из всех баз данных. Физический ввод-вывод связан с большой тратой ресурсов, но иногда ее можно свести к минимуму, используя более объемный кэш данных, интеллектуальные индексы и более эффективные запросы или изменяя структуру базы данных.

Page writes/sec

Число инициируемых за одну секунду физических операций записи страниц баз данных.

Readahead pages/sec

Количество считываемых за секунду страниц, которые, скорее всего, понадобятся в ближайшем будущем.

Reserved pages

Число страниц, зарезервированных в буферном пуле.

Stolen pages

Число страниц (в том числе страниц кэша процедур), используемых сервером в собственных целях.

Target pages

Оптимальное количество страниц в буферном пуле.

Total pages

Количество страниц в буферном пуле (в том числе страниц баз данных, свободных и заимствованных страниц).