×
Traktatov.net » Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil » Читать онлайн
Страница 296 из 302 Настройки

Операционная система

Количество семафоров по умолчанию

EPSON SEMAPHORES

10

М88К SEMAPHORES

10

UNIXWARE SEMAPHORES

10

NCR3000 SEMAPHORES

25

SCO_UN1X SEMAPHORES

25

sgi SEMAPHORES

25

IMP SEMAPHORES

25

DELTA SEMAPHORES

25

Ultrix SEMAPHORES

25

DGUX SEMAPHORES

25

DECOSF SEMAPHORES

16

Other UNIX

32

Объяснение

Семафоры используются для блокировок и сообщений о событиях. Теоретически InterBase должен использовать очень маленькое количество семафоров - 32 должно быть более чем достаточно.

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

Если в файле протокола InterBase InterBase.log вы видите сообщение об ошибке "semaphores are exhausted", то следует увеличить количество семафоров.

LOCK SIGNAL

Параметры в ibconfig

V4_LOCK_SIGNAL 16

ANY_LOCK_SIGNAL 16

Действие

Параметр изменяет номер сигнала, используемый для обозначения конфликтов блокировок.

Объяснение

В архитектуре Classic, когда один серверный процесс блокирует страницу базы данных или другой ресурс, который необходим второму процессу, второй процесс сигнализирует об этом первому. Чтобы сменить номер сигнала, используется данный параметр. Значение номера сигнала по умолчанию зависит от ОС:

NETWARE_386 BLOCKING_SIGNAL 101

WINDOWS_ONLY BLOCKING_SIGNAL 101

All Others BLOCKING_SIGNAL SIGUSR1

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

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

Может случиться так, что другой процесс в операционной системе использует тот же сигнал, что и InterBase. Тогда в случае, если этот процесс не сможет передать сигнал или аварийно завершиться при виде сигнала, который он не может обработать, то вы увидите, что либо InterBase-соединение "зависло", либо ошибки возникнут в другом процессе. В этом случае можно использовать параметр LOCK SIGNAL, чтобы выбрать другой сигнал.

Для систем с ОС Windows нет никакой необходимости изменять этот параметр.

EVENT MEMORY SIZE

Параметры в ibconfig

V4_EVENT_MEM_S1ZE 32768

ANY_EVENT_MEM_SIZE 32768

Действие

Параметр устанавливает начальный размер памяти, выделенной для таблицы событий (events).

Объяснение

Таблица событий (event table) хранится в отображенной (mapped) памяти. В архитектуре Classic место под эту таблицу выделяется Для каждого клиентского соединения. В архитектуре SuperServer одна таблица совместно используется всеми клиентами.

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

Таблица увеличивается динамически, поэтому вроде бы нет причины для того, чтобы устанавливать этот параметр.

DATABASE CACHE SIZE

Параметры в ibconfig

DATABASE_CACHE_PAGES 75

Действие

Этот параметр устанавливает число страниц из любой базы данных, которое может одновременно находиться в кеше. Если вы увеличиваете это значение. InterBase поместит больше страниц из каждой базы данных в кеш. По умолчанию SuperServer помещает в кеш 2048 страниц из каждой базы данных, a Classic - 75 страниц на каждое клиентское соединение. На 16-битовых версиях \Vindo\vs по умолчанию размер кеша 50 страниц.