Статистика InterBase-сервера

Статистика InterBase-сервера

Часто разработчики программ под InterBase желают получить информацию о поведении сервера во время выполнения запросов - использовании процессорного времени, загрузке памяти и т. д. Чтобы удовлетворить эти запросы, в InterBase и его клонах реализована функция InterBase API isc_database_info(), возвращающая необходимую информацию. Параметры этой функции перечислены в [4, гл. 8]. Очевидно, что писать каждый раз, когда потребовалась статистика, специальную программу с вызовами InterBase API неудобно, да и не нужно, потому как множество подобных высококачественных продуктов уже существует.

Одним из таких продуктов является MiTeC InterBase Performance Monitor (IBPM). Это свободно распространяемая программа, автором которой является Михаэль Матл (Michal Mutl). Этот монитор работает на всех ОС Windows, начиная с Windows 95. Эта программа отслеживает параметры InterBase-сервера, представленные в табл. 4.15.

Табл 4.15. Параметры производительности сервера

Параметра

Описание параметра

Memory and CPU usage

Использование памяти и процессора

Reads from memory buffer cache

Число чтений из кеша в памяти с момента запуска InterBase-сервера

Writes to memory buffer cache

Число записей в кеш-память с момента запуска InterBase-сервера

Reads from database

Число чтений из базы данных с момента запуска текущего соединения

Writes to database

Число записей в базы данных с момента запуска текущего соединения

Active users

Число активных пользователей

Server log

Если сервер поддерживает Services API для статистики, то можно получить протокол работы сервера

Allocated pages

Число распределенных страниц в базе данных

Number of buffers

Размера кеша

Removals of a version of a record

Число удалений версий записей с момента текущего соединения

Removals of fully mature records

Число удалений записей с момента текущего соединения

Removals of a record and all of its ancestors

Число удалений записей и всех предков

Reads done via index

Количество чтений, осуществленных с помощью индекса (вычисляется для каждой таблицы

с момента текущего соединения)

Sequential table scans

Количество последовательных проходов по таблицам

Database updates

Число обновлений в базе данных с момента текущего соединения

Database inserts

Число вставок в базу данных с момента текущего соединения

Database deletes

Число удалений в базе данных с момента текущего соединения

Local SQL Monitor (for apps based on FIBPIus)

Для приложений, написанных на FIBPIus, есть возможность отслеживать SQL-запросы, направляемые к базе данных

Как видите, достаточно большое поле для изучения поведения InterBase- сервера MiTeC InterBase Performance Monitor не требует специальной установки - достаточно, чтобы на компьютере, где он запускается, был установлен клиент InterBase Удобный интерфейс поможет легко разобраться с использованием данной программы.

Помимо вышеперечисленных возможностей MiTeC IBРМ может также извлекать статистику базы данных, которую можно получать с помощью утилиты gstat.

Статистика по блокировкам

InterBase использует механизм блокировок, чтобы организовывать совместную работу многих пользователей с одной базой данных. Изучение статистики по блокировкам позволяет регулировать настройки механизма блокирования. Подробнее об этом написано в приложении "Параметры конфигурационного файла InterBase" Для получения такой статистики нужно использовать утилиту iblockpr (для Windows, а для Linux - gds_lock_print), которая предназначена специально для получения данных о блокировках. Обычно эта утилита располагается в подкаталоге BIN в основном каталоге InterBase.

Формат ее запуска и применяемые подробно изложены в [4, гл. 8], поэтому мы не будем здесь его приводить, тем более что область применения подобной статистики достаточно узка: ее анализ может производиться при тонкой на- стройке конфигурации сервера В 90% случаев изменять параметры механизма блокировок не требуется.