SQL Server, объект Buffer Manager
Объект диспетчера буферов ( Buffer Manager ) предоставляет счетчики, позволяющие наблюдать за тем, как SQL Server использует следующие ресурсы:
Память для хранения страниц данных.
Счетчики, служащие для мониторинга физического ввода-вывода, когда SQL Server считывает и записывает страницы баз данных.
Расширение буферного пула для расширения буферного кэша с использованием быстрой энергонезависимой памяти, например твердотельных накопителей (SSD).
Мониторинг памяти и счетчиков, используемых SQL Server , помогает получить следующие сведения.
Существуют ли «узкие места», вызванные недостатком физической памяти. Если часто используемые данные не могут быть сохранены в кэше, SQL Server вынужден считывать их с диска.
Можно ли повысить эффективность выполнения запросов, увеличив объем памяти или выделив дополнительную память для кэширования данных или хранения внутренних структур SQL Server .
Насколько часто SQL Server считывает данные с диска. В сравнении с другими операциями, такими как доступ к памяти, физический ввод-вывод выполняется дольше. Уменьшение объема ввода-вывода может повысить производительность выполнения запросов.
Объекты производительности диспетчера буферов
Объекты производительности диспетчера буферов SQL Server описаны в следующей таблице.
Счетчики диспетчера буферов SQL Server | Описание |
---|---|
Коэффициент попадания в буферный кэш | Указывает долю страниц, обнаруженных в буферном кэше без чтения с диска. Это значение определяется как общее число попаданий в кэше, деленное на количество уточняющих запросов кэша за последние несколько тысяч операций доступа к страницам. По прошествии длительного периода это соотношение изменяется очень слабо. Так как чтение из кэша выполняется гораздо быстрее, чем с диска, следует стремиться к наибольшему значению этого показателя. Как правило, можно повысить коэффициент попаданий в кэш буфера, увеличив объем памяти, доступной SQL Server , или использовав функцию расширения буферного пула. |
Страниц контрольных точек/с | Указывает число страниц, записываемых на диск за одну секунду при создании контрольной точки или выполнении другой операции, требующей, чтобы все «грязные» страницы были записаны на диск. |
Страниц базы данных | Указывает число страниц с содержимым базы данных в буферном пуле. |
Страницы, выделенные расширением | Общее количество занятых страниц кэша в файле расширения буферного пула. |
Свободные страницы расширения | Общее количество незанятых страниц кэша в файле расширения буферного пула. |
Процент использования расширения | Процент файла подкачки расширения буферного пула, занятого страницами диспетчера буферов. |
Счетчик необработанных операций ввода-вывода расширения | Длина очереди ввода-вывода для файла расширения буферного пула. |
Вытеснения страниц расширения/с | Количество страниц, вытесняемых из файла расширения буферного пула в секунду. |
Чтений страниц расширения/с | Количество страниц, считываемых из файла расширения буферного пула в секунду. |
Время страницы в расширении без ссылки | Среднее время (в секундах), в течение которого страница остается в расширении буферного пула без ссылок на нее. |
Операции записи страниц расширения/с | Число страниц, записываемых в файл расширения буферного пула в секунду. |
Простоев в ожидании свободной страницы/с | Указывает число инициированных за одну секунду запросов, которым пришлось дожидаться свободной страницы. |
Отложенных записей/с | Указывает число буферов, записываемых за одну секунду модулем отложенной записи, входящим в диспетчер буферов. Модуль отложенной записи — это системный процесс, который записывает на диск пакеты измененных старых буферов (буферов, содержащих изменения, которые необходимо записать на диск, прежде чем буфер можно будет использовать повторно для другой страницы) и предоставляет доступ к ним для пользовательских процессов. Модуль отложенной записи устраняет необходимость частого создания контрольных точек с целью получения доступных буферов. |
Ожидаемый срок жизни страницы | Указывает количество секунд, в течение которых страница остается в буферном пуле без ссылок на нее. |
Поисков страницы/с | Указывает число инициируемых за секунду запросов поиска страницы в буферном пуле. |
Чтений страниц/с | Указывает число инициируемых за одну секунду физических операций чтения страниц базы данных. Этот статистический показатель отражает общее количество физических операций чтения страниц из всех баз данных. Физический ввод-вывод связан с большой тратой ресурсов, но иногда ее можно свести к минимуму, используя более объемный кэш данных, интеллектуальные индексы и более эффективные запросы или изменяя структуру базы данных. |
Записей страниц/с | Указывает число инициируемых за одну секунду физических операций записи страниц базы данных. |
Предварительно считанных страниц/с | Указывает количество считываемых за секунду страниц, которые, скорее всего, понадобятся в ближайшем будущем. |
См. также:
SQL Server:Buffer Node
Параметры конфигурации сервера «Server Memory»
SQL Server, объект Plan Cache
Наблюдение за использованием ресурсов (системный монитор)
sys.dm_os_performance_counters (Transact-SQL)
Расширение буферного пула