Чтение онлайн

на главную - закладки

Жанры

Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil

Востриков С М

Шрифт:

Объяснение

На Windows-системах (и только Windows) клиент, запущенный на той же машине, что и сервер, может устанавливать соединение с сервером через область разделяемой памяти, а не через TCP/IP. Используйте этот параметр для управления размером этой области.

Память выделяется блоками по 1024 байта. Приемлемый диапазон значений лежит между 1-м и 16-м однокилобайтовым блоком, т. е. значение этого параметра может быть одним из следующих: 1024, 2048, 3072, 4096, 5120, 6144, 7165 8192.9216. 10240, 11264,12288, 13312, 14336, 15360 или 16384.

Показания к изменению параметра

Если у вас много памяти и локальных клиентов, то увеличение размеров области обмена (communications area) может улучшить производительность

SERVER WORKING SIZE

Параметры

в ibconfig

SERVER_WORKING_SIZE_MIN 0

SERVER_WORKING_SIZE_MAX 0

Действие

Этот параметр устанавливает ограничения размера рабочей физической памяти (working size), доступно SuperServer на платформе Windows/NT/2000. Параметр измеряется в однокилобайтовых блоках. По умолчанию оба параметра имеют значение 0, что означает "нет ограничений".

Объяснение

Ограничивая максимальный размер рабочей памяти, можно заставить InterBase "упасть замертво" раньше времени из-за недостатка памяти. Увеличивая минимальный размер рабочей памяти, вы можете заставить InterBase "захватывать" память тогда, когда она ему не нужна.

Показания к изменению параметра

Установка минимального размера рабочей памяти может устранить некоторые затраты на постепенное разрастание памяти сервера, т. е. выделить столько памяти, чтобы серверу не пришлось больше ее увеличивать и тратить на это какие-тo усилия Установка максимального размера рабочей памяти может удержать сервер захватывания всей доступной памяти на системах с малым ее количеством. Не запускайте InterBase SuperServer на системах с малым количеством памяти.

LOCK GRANT ORDER

Параметры в ibconfig

V4_LOCK_GRANT_ORDER 1

Действие

Устанавливает состояние блокировки 1 - "Истина", включает сортировку блокировок; 0 - "Ложь", и выключает режим сортировки блокировок. По умолчанию сортировка блокировок выключена.

Объяснение

Сортировка блокировок достаточно проста, необходимо только узнать немного больше о блокировках. Когда соединение (клиент) запрашивает блокировку на объект, оно указывает в запросе определенный уровень блокировки. Типы блокировок приведены в следующей таблице:

Идентификатор типа блокировки

Английское наименование

Русский перевод наименования блокировки

#define LCK_none 0

Отсутствие блокировок

#define LCK_null 1

Existence

Блокировка существования объекта

#define LCK_SR 2

Shared Read

Совместное чтение

#define LCK_PR 3

Protected Read

Защищенное Чтение

#defme LCK_SW 4

Shared Write

Совместная запись

#define LCK_PW 5

Protected Write

Защищенная запись

#define LCK_EX 6

Exclusive

Эксклюзивная блокировка

Блокировка типа LCK_none на самом деле представляет собой запрос на снятие существующей блокировки. Блокировка LCK_null - это блокировка существования, которая налагается клиентским соединением. Для этого соединения важно лишь, чтобы заблокированный объект существовал.

Этот тип блокировки используется для того, чтобы гарантировать существование индексов, пока существуют скомпилированные запросы, которые зависят от этих индексов. Взаимодействие уровней блокировки описывается в следующей таблице совместимости блокировок (здесь 1 означает, что данные блокировки совместимы, 0 - несовместимы):

none

null

Shared Read

Protected Read

Shared Write

Protected Write

Exclusive

попе

1

1

1

1

1

1

1

null

1

1

1

1

1

1

1

SR

1

1

1

1

1

1

0

PR

1

1

1

1

0

0

0

SW

1

1

1

0

1

0

0

PW

1

1

1

0

0

0

0

EX

1

1

0

0

0

0

0

Когда

соединение желает заблокировать объект, оно подает запрос на блокировку, который определяет блокируемый объект и желаемый уровень блокировки.

Обычно если объект, который какое-то соединение желает заблокировать, уже блокирован другим соединением, то выстраивается очередь доступа, причем соединения, которые желают получить уровень блокировок ниже, чем тот, что уже наложен на объект, продвигаются вперед очереди. То есть если объект был заблокирован с уровнем Protected Read, то следующие соединения, которые запрашивают на этот объект блокировку Protected Read или ниже, передвинутся в начало очереди (точнее, пройдут без очереди), а соединения, которые запрашивают блокировки уровнем выше (например, Shared Write), будут "топтаться" в очереди. Если загрузка базы данных очень велика, такое поведение может привести к тому, что соединения, которые требуют высоких уровней блокировок, могут ждать неопределенно долго, потому что новые читающие соединения (которые запрашивают низкие уровни блокировки) будут постоянно прибывать и "лезть без очереди".

Показания к изменению параметра

Если ваши операции по записи данных имеют более низкий приоритет по сравнению с операциями чтения, включение сортировки блокировки улучшит производительность чтения, особенно в течение длинных читающих транзакций. Но необходимо помнить, что даже только читающие транзакции изменяют базу данных.
– по крайней мере они записывают информацию о состоянии своих транзакций.

LOCK HASH SLOTS

Параметр lock hash slots был удален из конфигурационного файла InteiBaseGx. no крайней мере в SuperSener под NT Однако исходный KOI д 1я того, чтобы прочитать и интерпретировать этот параметр, все еще существует.

Параметры в ibconfig

LOCK_HASH_SLOTS 101

Действие

Этот параметр определяет ширину хэш-таблицы, которая используется для поиска блокировок. По умолчанию значение этого параметра 101. Число должно быть простым, чтобы хэш-алгоритм производил хорошее распределение.

Он может быть в диапазоне от 101 до 2048

Объяснение

Представьте себе, что хэш-таблица - это одномерный массив с цепочками, которые "свисают" из каждой ячейки этого массива. Менеджер блокировок кэширует имя объекта и затем вычисляет остаток от целочисленного деления этой величины на число хэш-слотов в массиве, таким образом он определяет ячейку, на которую надо "подвесить" блокировку данного объекта.

Поделиться:
Популярные книги

Дарующая счастье

Рем Терин
Любовные романы:
любовно-фантастические романы
6.96
рейтинг книги
Дарующая счастье

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Царь поневоле. Том 1

Распопов Дмитрий Викторович
4. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Царь поневоле. Том 1

Гром над Империей. Часть 4

Машуков Тимур
8. Гром над миром
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Гром над Империей. Часть 4

Толян и его команда

Иванов Дмитрий
6. Девяностые
Фантастика:
попаданцы
альтернативная история
7.17
рейтинг книги
Толян и его команда

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Невеста клана

Шах Ольга
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Невеста клана

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Черный дембель. Часть 1

Федин Андрей Анатольевич
1. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 1

Ваше Сиятельство

Моури Эрли
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ваше Сиятельство

Дороги Пламенных

Дмитриева Ольга Олеговна
4. Пламенная
Фантастика:
боевая фантастика
5.00
рейтинг книги
Дороги Пламенных

Наследник павшего дома. Том II

Вайс Александр
2. Расколотый мир [Вайс]
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник павшего дома. Том II

Измена. Свадьба дракона

Белова Екатерина
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Измена. Свадьба дракона