Мониторинг использования ресурсов
С помощью интерфейса нижнего уровня клиентское приложение может не только описывать и изменять структуру объектов БД, манипулировать данными (находить, добавлять, модифицировать, удалять), но и получать сведения о процессах, проходящих в ядре СУБД. Эта информация может пригодиться для правильной настройки ядра СУБД или для управления потоком заданий (запросов от различных клиентских приложений).
Производительность СУБД зависит от многих факторов – от используемой сервером СУБД операционной системы, от выделенных системных ресурсов, от параметров настройки ядра СУБД, от структуры SQL-запросов клиентских приложений к БД (например, преимущественное использования простых запросов, претранслированных, хранимых процедур, триггеров) и др. Все эти факторы оказывают разное влияние на производительность СУБД.
Единственным способом узнать, насколько эффективно функционирует СУБД, является отслеживание выполняемых ею операций, т.е. мониторинг состояния и производительности СУБД в целом. Мониторинг может выполняться с помощью специальных команд интерфейса нижнего уровня.
Средства мониторинга позволяют собрать статистику о том, какие запросы посылает клиентское приложение и как СУБД их обрабатывает. Это особенно важно для многокомпонентных прикладных систем, работающих в многозадачной среде, когда запросы одного из компонентов системы могут задерживать обработку запросов других компонентов: при этом общая производительность прикладной системы снижается. Собрав и изучив статистику, администратор СУБД может разработать управляющую программу, которая в зависимости от собранной информации о поведении СУБД решает, какие из запросов следует приостановить (или даже вообще снять с обработки) в угоду более производительной обработке других, более приоритетных, запросов.
Для целей мониторинга имеется следующий набор команд интерфейса нижнего уровня:
-
дать элемент очереди таблиц;
-
дать элемент очереди столбцов;
-
дать элемент очереди файлов;
-
дать элемент очереди каналов.
Каждая из этих команд предоставляет информацию об основных очередях ядра СУБД. Свопинг этих очередей оказывает большое влияние на скорость обработки потока запросов.