Параметры, связанные с ресурсами

Параметры, связанные с ресурсами

CpuAffinityMask

Версии 1.5 и выше под Windows.

cpu_affinity

Версии до Firebird 1.5 под Windows.

В Суперсервере Firebird под Windows могут быть проблемы с операционной системой, постоянно переключающей процесс Суперсервера туда и сюда между процессорами на машинах SMP. В списках поддержки это называется "эффектом качелей" и на таких системах он может оказывать сильное воздействие на производительность. Данный параметр должен быть использован для установки одного или более конкретных процессоров для Суперсервера Firebird.

Параметры CpuAffinityMask и cpu?affinity получают значение целого числа: маску CPU. Например:

CpuAffinityMask = 1

cpu_affinity = 1

Суперсервер запускается только на первом процессоре (CPU 0).

CpuAffinityMask = 2

cpu_affinity = 2

Запускается только на втором процессоре (CPU 1).

CpuAffinityMask = 3

cpu_af finity = 3

Запускается на первом и на втором процессорах.

! ! !

ВНИМАНИЕ! Этот параметр не работает в Windows 9х или ME, поскольку он использует вызов NT API. Версии Windows 9х не могут использовать более одного процессора.

. ! .

Вычисление значения CpuAffinityMask

Вы можете использовать этот параметр для установления свойства Firebird для любого одного процессора или (для Классического сервера) любой комбинации процессоров, установленных в системе.

Рассматривайте центральные процессоры как массив, пронумерованный от 0 до n-1, где n- количество установленных процессоров, i - номер в массиве конкретного процессора. M- другой массив, содержащий значение маски (Maskvaiue) для каждого выбранного CPU. Значение А является суммой значений в массиве M.

Используйте следующие формулы для получения Ми вычисления Maskvaiue А:

Mi = 2l

А = М1+М2 + M3 ...

Например, для выбора первого и четвертого процессоров (процессор 0 и процессор 3) вычислите:

А = 20 + 23 = 1 + 8 = 9

! ! !

ВНИМАНИЕ! Серверы Firebird версии 1.5 и ниже могут не поддерживать Нурег-Threading на некоторых ранних моделях материнских плат. Для устранения проблем балансировки нагрузки может оказаться необходимым отменить Hyper-Threading на уровне BIOS системы.

. ! .

Маска процессоров по умолчанию 1 (процессор 0).

DefaultDbCachePages

Версия 1.5 и более поздние.

database_cache_pages

Версии, предшествующие Firebird 1.5.

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

Значение по умолчанию для Суперсервера 2048 страниц. Для Классического сервера - 75.

Суперсервер и Классический сервер выделяют и используют кэш-память по-разному. Не существует "формулы", которую можно было бы применить для установки оптимального значения по умолчанию размера кэша, который подошел бы для всех случаев. Тем не менее факторы, влияющие на производительность, подробно обсуждаются в разд. "Кэш базы данных" главы 15.

EventMemSize

Версия 1.5 и более поздние.

Это целое число, задающее количество байтов памяти, выделяемой для менеджера событий. Значение по умолчанию 65 536 (64 Кбайт).

SortMemBlockSize

Версия 1.5 и более поздние.

Этот параметр позволяет сконфигурировать размер в байтах каждого блока памяти, используемого для модуля внутренней сортировки. Значение по умолчанию при инсталляции 1 Мбайт, который вы можете заменить любым значением, не превышающим текущее значение максимума, установленного в параметре sortMemupperLimit.

SortMem UpperLimit

Версия 1.5 и более поздние.

Максимальный размер памяти в байтах, выделяемой для модуля внутренней сортировки. Значение по умолчанию при инсталляции 67 108 864 байт (64 Кбайт) для Суперсервера и 8 388 608 байт (8 Кбайт) для Классического сервера.

! ! !

ВНИМАНИЕ! Для Классического сервера значение по умолчанию слишком велико, если только не подключено большое количество клиентов. Помните, что увеличение размера любого блока или максимального ограничения в Классическом сервере влияет на каждое клиентское соединение (экземпляр сервера) и увеличивает потребление сервером памяти в линейной пропорции.

. ! .