Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
fb_lock_print -ia 4 10
fb_iock_print -ia "запрашивает" статистику:
1. acquire/s: среднее количество попыток в секунду обращений к таблице блокировок.
2. acqwait/s: среднее количество попыток, которым пришлось ожидать, в каждую секунду.
Рис. 40.13. Интерактивная выборка
3. %acqwait: процент попыток, которые были вынуждены ожидать.
4. acqrtry/s:
5. rtrysuc/s: среднее количество успешных повторных попыток в секунду.
! ! !
СОВЕТ. В качестве подсказки, что означают столбцы в различных интерактивных отчетах, прочтите статью "Reading a Lock Print" Ann Harrison на http://www.ibphoenix.com.
. ! .
Установка конфигурации блокировки
Значения по умолчанию Менеджера блокировок должны подойти для большинства вычислительных сред. При работе, особенно в Классическом сервере, имеет смысл подрегулировать эти установки для улучшения производительности или для устранения дефицита ресурсов блокировки.
Файлы конфигурации
Файлы конфигурации размещены в корневом каталоге Firebird. Для сервера Firebird 1.5 и более поздних файл конфигурации называется firebird.conf. Для версии 1.0.x он называется ibconfig в Windows и-isc config в POSIX. Используйте текстовый редактор для открытия и редактирования этого файла.
Версия 1.5 и выше, файл firebird.conf.
Версии, предшествующие Firebird 1.5, файл iscconfig/ibconfig.
Эта установка используется только для машин SMP при выполнении Классического сервера.
В Классическом сервере в любой момент времени к таблице блокировок может иметь доступ только один клиентский процесс. Флаг управляет доступом к таблице блокировок. Клиентские процессы могут обращаться к флагу условно или безусловно. Если запрос условный, то он будет ошибочным и должен быть повторен. Если запрос безусловный, то он будет ожидать, пока не будет удовлетворен. LockAcquirespins устанавливает количество возможных попыток, если запрос к флагу условный.
Требуется целое число. Значение по умолчанию 0 (безусловный). Не существует рекомендованного минимума или максимума.
Версия 1.5 и выше, файл firebird.conf.
Версии, предшествующие Firebird 1.5, файл iscconfig/ibconfig.
Используйте этот параметр для настройки списка хэша блокировок. При повышенной нагрузке производительность может быть улучшена увеличением области памяти под хэш для распределения списка на более короткие цепи хэша. Значением является целое число. Рекомендуется использовать простое число. Значение по умолчанию 101.
Этот параметр и LockMemSize (см. следующий раздел)
Версия 1.5 и выше, файл firebird.conf.
Версии, предшествующие Firebird 1.5, файл isc_config/ibconfig.
Этот целочисленный параметр представляет количество байтов для совместно используемой памяти для таблицы Менеджера блокировок. Для Классического сервера LockMemSize задает начальное распределение, которое будет динамически увеличиваться, пока не будет исчерпана память. ("Lock manager is out of room", "Исчерпана память для Менеджера блокировок" не означает, что можно отправляться пить кофе!) Значение этого параметра связано с размером кэша базы данных, поскольку каждая страница потребует отдельной блокировки в таблице. Если количество страниц базы данных в кэше установлено в большое значение, это может привести к проблемам памяти для таблицы блокировок.
В Суперсервере объем памяти, выделенный для Менеджера блокировок, не увеличивается.
Размером по умолчанию в Linux и в Solaris является 98 304 байта (96 Кбайт). В Windows это 262 144 (256 Кбайт).
Версия 1.5 и выше, файл firebird.conf.
Версии, предшествующие Firebird 1.5, файл isc config/ibconfig.
Когда соединению требуется блокировка некоторого объекта, оно получает группу запроса блокировки, которая определяет объект и требуемый уровень блокировки. Группы запросов соединяются с группами блокировок в виде удовлетворенных запросов или в виде запросов, ожидающих разрешения.
Параметр LockGrantOrder является Логическим. Значение по умолчанию (1 = True) указывает, что блокировки должны предоставляться по принципу "первым пришел - первым обслужен".
Установка False (0) эмулирует поведение InterBase 3.3, когда блокировка предоставляется, как только она станет возможной. Результатом этого может оказаться то, что запросы будут "замороженными". Рассматривайте это как запрещенную установку и не пытайтесь ее использовать, если только это не требуется для тестирования некоторой модификации сервера базы данных.
Версия 1.5 и выше, файл firebird.conf.
Версии, предшествующие Firebird 1.5, файл isc_config/ibconfig.
Это целочисленный параметр, задающий количество доступных семафоров для межпроцессной коммуникации (Inter-Process Communication, IPC) Классического сервера. Значение по умолчанию 32. Устанавливайте этот параметр для Классического сервера для увеличения или уменьшения количества доступных семафоров.