Альтернативный буферный пул в СУБД OpenEdge (Progress)
Мониторинг Альтернативного буферного пула с помощью PROMON
В связи с вводом Альтернативного буферного пула, в утилиту PROMON были внесены некоторые изменения, которые будут описаны далее.
Экран 5 – Activity
Расширена строка Buffer Hits, она имеет три значения:
- Buffer Hits – средний процент;
- Primary Hits – процент совпадений в первичном буферном пуле;
- Alternate Hits – процент совпадений в Альтернативном буферном пуле.
Выглядит этот экран теперь так:
Экран 6 – Shared Resources
Добавлена дополнительная строка, сообщающая о текущем значении параметра <-B2>:
R&D -> 1 (Status Display) -> Экран 12 (Startup Parameters)
Добавлена дополнительная строка, показывающая размер Альтернативного буферного пула.
R&D ->2 (Activity Display) -> Экран 1 (Summary)
Расширена строка Buffer Hits, она имеет три значения:
- Buffer Hits – средний процент;
- Primary Hits – процент совпадений в первичном буферном пуле;
- Alternate Hits – процент совпадений в Альтернативном буферном пуле.
R&D -> 2 (Activity Display) -> Экран 3 (Buffer Cache)
Эта опция показывает три набора информации. Первый набор – это итоговая информация по всем буферным пулам. Второй набор – это информация только по Первичному буферному пулу. А третий, соответственно, это информация только по Альтернативному буферному пулу.
Обратите внимание на поле «LRU2 replacement policy disable», которое находится в конце списка полей. Значение disable указывает на то, что Альтернативный буферный пул использует FIFO. Как только значение станет enable, это будет означать, что Альтернативный буферный пул переполнен и включился механизм LRU. В этом случае администратор должен либо увеличить размер Альтернативного буферного пула, либо исключить часть объектов из него. После чего LRU будет автоматически отключен.
Изменения в VST
Некоторые системные виртуальные таблицы (VST) так же подверглись изменению для поддержки Альтернативного буферного пула:
- _ActBuffer – таблица содержит информацию о буферной активности. Теперь она расширена на три дополнительных записи. Первая запись содержит данные об обоих пулах, о Первичном и об Альтернативном. Вторая содержит данные только Первичного буферного пула. Третья, соответственно, данные только Альтернативного буферного пула. Поля таблицы изменению не подвергались. Поэтому приложения, использующие таблицу, не будут затронуты.
- _BuffStatus – таблица содержит информацию о статусе буфера. В нее добавлено поле _BfStatus-LRU. Это поле содержит количество буферов в цепочке LRU для обоих буферных пулов.
- _IndexStat – таблица содержит статистическую информацию о каждом индексе в базе данных. В нее добавлено новое поле _IndexStat-OsRead. Поле содержит информацию о количестве чтений индекса с диска с момента запуска базы данных или с момент изменения базовой статистики.
- _TableStat – таблица содержит статистическую информацию о каждой таблице в базе данных. В нее добавлено новое поле _TableStat-OsRead. Поле содержит информацию о количестве чтений таблицы с диска с момента запуска базы данных или с момент изменения базовой статистики.
- _Startup – таблица содержит информацию о стартовых параметрах. Она расширена на одно поле – _Startup-Alternate_Buffs, которое содержит значение параметра <-B2>.
Поля _IndexStat._IndexStat-OsRead и _TableStat._TableStat-OsRead позволяют понять, как используются таблицы и индексы, что позволяет найти хороших кандидатов для работы с Альтернативным буферным пулом, т.е. те объекты, которые чаще всего считываются с дисков.