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


Параметры кэша базы данных

Применимо к: Windows | Windows Server

Параметры кэша базы данных

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

JET_paramBatchIOBufferMax
22

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

Windows XP и более поздних версий: Этот параметр устарел и не влияет на работу ядра СУБД.

Метка Значение

Значение по умолчанию:

256

Тип:

Целое число

Допустимый диапазон:

0, 2 – 2147483647

Область.

Глобальный

Задать после JetCreateInstance:

Нет

Устанавливается после JetInit:

Нет

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Все

JET_paramCacheSize
41

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

Примечание Размер кэша по-прежнему зависит от ограничений , накладываемых JET_paramCacheSizeMin и JET_paramCacheSizeMax.

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

Метка Значение

Значение по умолчанию:

Специальные функции

Тип:

Целое число

Допустимый диапазон:

Windows 2000: 1 — 1048575

Windows XP: 1 — 4294967295

Область.

Глобальный

Задать после JetCreateInstance:

Да

Устанавливается после JetInit:

Да

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Все

JET_paramCacheSizeMin
60

Этот параметр настраивает минимальный размер кэша страниц базы данных. Размер находится на страницах базы данных.

По умолчанию размер кэша базы данных автоматически изменяется между ограничениями, установленными JET_paramCacheSizeMin , и JET_paramCacheSizeMax.

Windows 2000: В Windows 2000 этому параметру следует задать значение, примерно равное количеству потоков, в четыре раза больше, чем в API ESE одновременно. Это необходимо, чтобы избежать взаимоблокировок, вызванных недостаточным количеством буферов кэша страниц базы данных для выполнения сложных операций, таких как разделение деревьев B+.

Windows XP и более поздних версий: Диспетчер кэша автоматически устанавливает собственный минимальный размер кэша, чтобы избежать взаимоблокировок.

Метка Значение

Значение по умолчанию:

Windows 2000: 64

Windows XP: 1

Тип:

Целое число

Допустимый диапазон:

Windows 2000: 1 — 1048575

Windows XP: 1 — 4294967295

Область.

Глобальный

Задать после JetCreateInstance:

Windows 2000: Нет

Windows XP: Да

Устанавливается после JetInit:

Windows 2000: Нет

Windows XP: Да

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Все

JET_paramCacheSizeMax
23

Этот параметр настраивает максимальный размер кэша страниц базы данных. Размер находится на страницах базы данных.

По умолчанию размер кэша базы данных автоматически изменяется между ограничениями, установленными JET_paramCacheSizeMin , и JET_paramCacheSizeMax.

Примечание Если этот параметр имеет значение по умолчанию, максимальный размер кэша будет установлен в размере физической памяти при вызове JetInit .

Windows Vista: В Windows Vista значение этого параметра по умолчанию было изменено, чтобы уточнить это поведение.

Метка Значение

Значение по умолчанию:

Windows 2000, Windows XP и Windows Server 2003: 512

Windows Vista: 2000000000

Тип:

Целое число

Допустимый диапазон:

Windows 2000: 1 — 1048575

Windows XP: 1 — 4294967295

Область.

Глобальный

Задать после JetCreateInstance:

Windows 2000: Нет

Windows XP: Да

Устанавливается после JetInit:

Windows XP и Windows 2000: Нет

Windows Vista и Windows Server 2003: Да

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Все

JET_paramCheckpointDepthMax
24

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

Если циклическое ведение журнала включено с помощью JET_paramCircularLog этот параметр также будет контролировать приблизительное количество файлов журнала транзакций, которые будут храниться на диске.

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

Метка Значение

Значение по умолчанию:

20971520

Тип:

Целое число

Допустимый диапазон:

Windows 2000, Windows XP и Windows Server 2003: 0 – 2147483647

Windows Vista: Все значения

Область.

Windows 2000, Windows XP и Windows Server 2003: Этот параметр является глобальным.

Windows Vista: Этот параметр имеет значение для каждого экземпляра.

Задать после JetCreateInstance:

Да

Устанавливается после JetInit:

Да

Влияет на физический макет:

Нет

Влияет на надежность:

Да

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Все

JET_paramCheckpointIOMax
135

Этот параметр определяет максимальное количество одновременных операций записи, которое ядро СУБД будет использовать для очистки измененных страниц базы данных с целью продвижения контрольной точки. Значение этого параметра можно использовать для балансировки скорости, с которой контрольная точка может быть расширена, и отрицательного влияния этого процесса на время отклика других операций ввода-вывода на диски, на которых размещена база данных.

Метка Значение

Значение по умолчанию:

96

Тип:

Целое число

Допустимый диапазон:

8 – 1024

Область.

Глобальный

Задать после JetCreateInstance:

Да

Устанавливается после JetInit:

Да

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Нет

"Доступность":

Windows Vista и более поздних версий

JET_paramEnableViewCache
127

Если этот параметр имеет значение True, ядро СУБД будет использовать данные базы данных непосредственно из файлового кэша Windows, а не копировать кэшированные данные в собственную частную память. Все измененные данные базы данных по-прежнему будут кэшироваться в частной памяти.

Этот режим предназначен для дальнейшего сокращения объема частной памяти, используемой ядром СУБД для кэширования данных базы данных.

Кэш представлений можно использовать только в том случае, если использование кэша файлов Windows включено, задав для JET_paramEnableFileCache значение True.

Метка Значение

Значение по умолчанию:

Неверно

Тип:

Логическое

Допустимый диапазон:

False, True

Область.

Глобальный

Задать после JetCreateInstance:

Нет

Устанавливается после JetInit:

Нет

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Windows Vista и более поздних версий

JET_paramLRUKCorrInterval
25

Этот параметр задает интервал времени в микросекундах, в течение которого два доступа к страницам базы данных считаются коррелируемыми. Этот интервал корреляции определяет чувствительность алгоритма замены страниц кэша (LRU-K) к последовательным обращениям к страницам. Это, в свою очередь, повлияет на то, какие страницы будут храниться в кэше.

Метка Значение

Значение по умолчанию:

128 000

Тип:

Целое число

Допустимый диапазон:

Windows 2000, Windows XP и Windows Server 2003: 0 – 2147483647

Windows Vista: Все значения

Область.

Глобальный

Задать после JetCreateInstance:

Нет

Устанавливается после JetInit:

Нет

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Нет

"Доступность":

Все

JET_paramLRUKHistoryMax
26

Этот параметр задает максимальное количество не кэшированных страниц базы данных, для которых будет храниться время доступа к странице базы данных. Эти записи журнала позволяют алгоритму замены страниц кэша (LRU-K) более точно обнаруживать популярные страницы, которые были неправильно исключены из кэша страниц базы данных.

Windows XP и Windows Server 2003: Этот параметр игнорируется в Windows XP и Windows Server 2003 и не влияет на работу ядра СУБД.

Метка Значение

Значение по умолчанию:

Windows 2000: 1024

Windows Vista: 100000

Тип:

Целое число

Допустимый диапазон:

Windows 2000: 0 – 4194303

Windows Vista: Все значения

Область.

Глобальный

Задать после JetCreateInstance:

Нет

Устанавливается после JetInit:

Нет

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Все

JET_paramLRUKPolicy
27

Этот параметр настраивает количество обращений к страницам базы данных, которые учитываются для определения полезности страницы. По сути, этот параметр является K в LRU-K, алгоритме замены страниц кэша страниц базы данных.

Метка Значение

Значение по умолчанию:

2

Тип:

Целое число

Допустимый диапазон:

1–2

Область.

Глобальный

Задать после JetCreateInstance:

Нет

Устанавливается после JetInit:

Нет

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Нет

"Доступность":

Все

JET_paramLRUKTimeout
28

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

Метка Значение

Значение по умолчанию:

100

Тип:

Целое число

Допустимый диапазон:

Windows 2000, Windows XP и Windows Server 2003: 1 — 2147483647

Windows Vista: 1 – 4294967295

Область.

Глобальный

Задать после JetCreateInstance:

Нет

Устанавливается после JetInit:

Нет

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Нет

"Доступность":

Все

JET_paramLRUKTrxCorrInterval
29

Этот параметр устарел и не влияет на работу ядра СУБД.

JET_paramStartFlushThreshold
31

Этот параметр определяет, когда кэш страниц базы данных начинает вытеснивать страницы из кэша, чтобы освободить место для страниц, которые не кэшируются. Когда количество буферов страниц в кэше падает ниже этого порогового значения, начнется фоновый процесс пополнения этого пула доступных буферов. Это пороговое значение всегда зависит от максимального размера кэша, заданного JET_paramCacheSizeMax. Это пороговое значение также всегда должно быть меньше порога остановки, заданного JET_paramStopFlushThreshold.

Высота расстояния порога запуска определяет время отклика, необходимое кэшу страниц базы данных для создания доступных буферов, прежде чем они потребуются приложению. Высокий порог начала даст фоновому процессу больше времени на реагирование. Однако высокий порог запуска подразумевает более высокое пороговое значение остановки, что приведет к уменьшению эффективного размера кэша страниц базы данных для измененных страниц (Windows 2000) или для всех страниц (Windows XP и более поздних версий).

Метка Значение

Значение по умолчанию:

Windows 2000, Windows XP и Windows Server 2003: 5 (1 %)

Windows Vista: 200000000 (1 %)

Тип:

Целое число

Допустимый диапазон:

Windows 2000: 1 — 1048575

Windows XP: 1 — 4294967295

Windows Vista: Все значения

Область.

Глобальный

Задать после JetCreateInstance:

Да

Устанавливается после JetInit:

Да

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Все

JET_paramStopFlushThreshold
32

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

Расстояние между пороговым значением начала и порогом остановки влияет на эффективность очистки страниц базы данных в фоновом процессе. Больший разрыв сделает более вероятным объединение операций записи на соседние страницы. Однако высокий порог остановки уменьшит фактический размер кэша страниц базы данных для измененных страниц (Windows 2000) или для всех страниц (Windows XP и более поздних версий).

Метка Значение

Значение по умолчанию:

Windows 2000, Windows XP и Windows Server 2003: 10 (2 %)

Windows Vista: 40000000 (2 %)

Тип:

Целое число

Допустимый диапазон:

Windows 2000: 1 — 1048575

Windows XP: 1 — 4294967295

Windows Vista: Все значения

Область.

Глобальный

Задать после JetCreateInstance:

Да

Устанавливается после JetInit:

Да

Влияет на физический макет:

Нет

Влияет на надежность:

Нет

Влияет на производительность:

Да

Влияет на ресурсы:

Да

"Доступность":

Все

Требования

Требование Значение

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Professional.

Сервер

Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server.

Верхняя часть

Объявлено в Esent.h.

См. также:

JetCreateInstance
JetInit