Режимы работы сервера

Navigation:  TCP/IP Сервер БД ИРБИС64 > Конфигурирование и настройка сервера >

Режимы работы сервера

Previous pageReturn to chapter overviewNext page

Существует три режима работы сервера ИРБИС64:

 

Обычный,

прием запроса в основном потоке сервера. После запуска процесса обработки серверу необходимо получить информацию о том, что результат готов и забрать этот результат.

 

Многопотокового чтения-записи,

прием запроса в отдельном потоке. Многопотоковый режим задействует те же механизмы обмена сообщениями с процессами обработки server_64.exe, что и обычный режим.

 

Многопроцессорного чтения-записи,

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

 

Для того что бы сервер узнал о том что результат готов

обычно хватает Windows-сообщения. Однако на очень нагруженных системах, эти сообщения могут быть не доставлены операционной системой, и сервер не узнает о том, что ответ для клиента готов.

Если у Вас возникает такая проблемастоит обратиться к варианту TCP/IP запроса по внутреннему порту сервера.

 

Доставить сам ответ можно двумя способами.

Либо через файл на диске (медленно, но надежно),

либо через системную память (быстро, но есть ограничение на размер этой памяти, которое задается в irbis_server.ini).

 

Воспользоваться режимом «отладка» возможно только в случае обмена информацией через файлы – в этом случае они не удаляются и остаются в директории workdir.

 Внимание:

Следите за размером количеством файлов в директории workdir при отладке – большое количество таких файлов приведет к серьезному замедлению работы

 

Режимы работы сервера

Ниже в таблице сведены режимы работы, способы сообщения серверу, что ответ для клиента готов к отправке и способы передачи от процесса обработки серверу результата работы. Указано, какие значения, каким параметрам необходимо присвоить.

 

Обычный

Многопотоковый

Многопроцессорный

 

DUPLICATE_SOCKETS=0

THREADS_AVAILABLE=0

 

 

DUPLICATE_SOCKETS=0

THREADS_AVAILABLE=1

 

DUPLICATE_SOCKETS=1

THREADS_AVAILABLE – не играет роли

 Способы обмена информацией сервера с процессами обработки        

Параметры в irbis_server.ini для  …обычного и многопотокового режима

…многопроцессорного режима

Через файл

MAPING_WORK_FILES=0

 

Через мэпированный файл (через системную память)

 

MAPING_WORK_FILES=1

MappingFileSize=1 (Мб)

Через файл

DUP_MAPING_WORK_FILES=0

 

Через мэпированный файл

 

DUP_MAPING_WORK_FILES=1

Dup_MappingFileSize=100 (Кб)

 

Виды сообщений не зависят от режимов работы сервера и способов обмена информацией

 

Виды сообщений от процесса обработки к серверу, используемых как сигнал о начале обмена информацией (ответ клиенту готов)

Вид сообщения

Параметры в irbis_server.ini

Windows сообщение

LISTEN_RESPONSE=0

RegisterWindowMessage=0

Зарегистрированное в WINDOWS сообщение

WM_CLIENT_PROCESS_Hook:=RegisterWindowMessage(CLASS_NAME)

LISTEN_RESPONSE=0

RegisterWindowMessage=1

TCP/IP запрос по внутреннему порту сервера

LISTEN_RESPONSE=1

IP_PORT_LOCAL=7778

 


См. также:

Параллельных процессов обработки доступа к базам данных оптимизация

Сетевого чтения-записи параллельная обработка

Многопроцессорное сетевое-чтение записи - режим Сервера

Пользовательский интерфейс сервера ИРБИС64