Выбрать главу

! ! !

ВНИМАНИЕ! Этот параметр не работает в 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. Параметр воздействует и на сервер, и на клиента.

вернуться

139

По причине ошибки в Windows использование DummyPacketlnterval может привести к зависанию или краху Windows на клиентской стороне. Объяснения см. в статье Microsoft Support: http://support.microsoft.com/default.aspx?kbid=296265. Не рекомендуется его также использовать и для систем, отличных от Windows, поскольку это может привести к отключению активного клиента.

вернуться

140

Подробно по настройкам keepalive читайте статью www.ibase.ru/devinfo/keepalive.htm. - Прим. науч. ред.