Мониторинг использования ресурсов

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

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

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

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

Для целей мониторинга имеется следующий набор команд интерфейса нижнего уровня:

  • дать элемент очереди таблиц;

  • дать элемент очереди столбцов;

  • дать элемент очереди файлов;

  • дать элемент очереди каналов.

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