Шрифт:
Интервал:
Закладка:
Параметры, связанные с ресурсами
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 Кбайт) для Классического сервера.
! ! !
ВНИМАНИЕ! Для Классического сервера значение по умолчанию слишком велико, если только не подключено большое количество клиентов. Помните, что увеличение размера любого блока или максимального ограничения в Классическом сервере влияет на каждое клиентское соединение (экземпляр сервера) и увеличивает потребление сервером памяти в линейной пропорции.
. ! .
Параметры, связанные с коммуникацией
ConnectionTimeoutВерсия 1.5 и более поздние.
connection_timeoutВерсии, предшествующие Firebird 1.5.
Задает количество секунд ожидания до прекращения попытки соединения. Значение по умолчанию 180.
DummyPacketlntervalВерсия 1.5 и более поздние.
dummy_packet_intervalВерсии, предшествующие Firebird 1.5.
Это старый параметр InterBase, устанавливающий количество секунд (целое число), в течение которых сервер должен ждать молчания клиентского соединения, прежде чем отправить пустой пакет для подтверждения запроса. По умолчанию устанавливается в 0 (отключено) для Firebird 1.5 и в 60 для Firebird 1.0.x.
! ! !
ВНИМАНИЕ! Этот параметр не должен использоваться в Windows совсем, и он не рекомендуется для других операционных систем[139].
. ! .
В Firebird 1.0.x откройте iboonfig (Windows) или iso config (другие системы) и добавьте строку:
dummy_packet_interval=0
Обычно Firebird отслеживает активные соединения с использованием режима разъема SO_KEEPALIVE с периодом по умолчанию 2 часа. Если вам нужно изменить период ожидания, подрегулируйте установки сервера[140]:
* для сервера POSIX измените содержание proc/sys/net/ipv4/tcp_keepalive_*;
* для Windows просмотрите инструкции в статье на http://support.microsoft.com /default.aspx?kbid=140325.
RemoteServiceNameВерсия 1.5 и более поздние.
Это имя сервиса на сервере. Если файл firebird.conf включен только в клиентскую инсталляцию (см. главу 7), то клиент при необходимости будет отыскивать в нем имя сервиса. См. также RemoteServicePort (описан в следующем разделе). Более подробную информацию см. в разд. "Конфигурирования порта сервиса" главы 2.
Default = gds_db
RemoteServicePortВерсия 1.5 и более поздние.
Этот параметр и RemoteServiceName обеспечивают возможность перекрытия либо имени сервиса TCP/IP, либо номера порта TCP/IP, используемых для прослушивания запросов клиентов к соединению с базой данных, если один из них отличается от значения по умолчанию при инсталляции (gds_db и порт 3050).
Изменяйте одну запись, но не обе. RemoteServiceName проверяется первым на соответствие записи в файле services. Если есть соответствие, то конфигурируется номер порта для RemoteServicePort. Если нет соответствия, то используется номер порта по умолчанию при инсталляции - 3050.
! ! !
ПРИМЕЧАНИЕ. Если номер порта указывается в строке соединения TCP/IP, то он всегда имеет приоритет перед RemoteServicePort.
. ! .
RemoteAuxPortВерсия 1.5 и более поздние.
Унаследованное от InterBase поведение, связанное с передачей сообщений о событиях по сети через случайно выбранные порты TCP/IP, показывает, что в некоторых
типах инсталляций это является источником постоянных ошибок сети и конфликтов средств межсетевой защиты (firewall), иногда приводит к краху сервера. Этот параметр позволяет сконфигурировать один порт TCP для всего трафика сообщения о событиях.
Значение инсталляции по умолчанию (0) сохраняет традиционный случайный выбор порта. Для назначения одного порта для сообщений о событиях используйте целое число, которое задает номер доступного порта.
RemoteBindAddressВерсия 1.5 и более поздние.
По умолчанию клиенты могут соединяться из любого сетевого интерфейса, для которого сервер поддерживает трафик. Этот параметр позволяет вам связывать сервис Firebird с приходящими запросами через один IP-адрес (т. е. сетевую карту) и отклонять запросы на соединение от любых других сетевых интерфейсов. Это позволяет разрешать проблемы в некоторых сетях, где сервер используется в нескольких подсетях.
Это строка в допустимом формате IP с использованием разделительных точек. Значением по умолчанию является пустая строка.
TcpRemoteBufferSizeВерсия 1.5 и более поздние.
Ядро сервера вначале считывает клиента и может отправить некоторые строки данных в одном пакете. Чем больше размер пакета, тем большая строка отправляется за одну пересылку. Используйте этот параметр (с осторожностью и полным пониманием его воздействия на производительность сети), если вам нужно увеличить или уменьшить размер пакета TCP/IP. Параметр воздействует и на сервер, и на клиента.
Значением является целое число (размер пакета в байтах) в диапазоне от 1448 до 32 767. Значением по умолчанию при инсталляции является 8192.
Параметры, специфичные для POSIXRemoteFileOpenAbilityВерсия 1.5 и выше, только для POSIX.
! ! !
ВНИМАНИЕ! Используйте RemoteFileOpenAbility только с особой осторожностью.
. ! .
Это логический параметр, который, будучи установленным в True, позволяет серверу открывать файлы, которые расположены в монтированных разделах сетевой файловой системы (Networked FileSystem, NFS). Он предназначен для создания оперативных копий на накопителях в NFS, которые имеют высокую доступность. Он не является безопасным для файлов базы данных - возможно, за исключением баз данных только для чтения - потому что эта файловая система находится вне контроля локальной файловой системы. Он не должен использоваться для целей открытия любых баз данных для чтения/записи, чья выживаемость имеет для вас значение.
- Delphi. Учимся на примерах - Сергей Парижский - Программирование
- Сделай видеоигру один и не свихнись - Слава Грис - Программирование / Руководства
- Психбольница в руках пациентов - Алан Купер - Программирование