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 |
Количество страниц в буферном пуле (в том числе страниц баз данных, свободных и заимствованных страниц). |
См. также