Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Параметры, связанные с ресурсами
Разделы на этой странице:
Параметры, связанные с ресурсами
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 Кбайт) для Классического сервера.
! ! !
ВНИМАНИЕ! Для Классического сервера значение по умолчанию слишком велико, если только не подключено большое количество клиентов. Помните, что увеличение размера любого блока или максимального ограничения в Классическом сервере влияет на каждое клиентское соединение (экземпляр сервера) и увеличивает потребление сервером памяти в линейной пропорции.
. ! .