logo

Централизованная библиотечная система г. Рязани

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


НАЧАЛО >> TCP/IP сервер ИРБИС 64/128 >> Конфигурирование и настройка сервера >> Режимы работы сервера


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

  • Обычный, прием запроса в основном потоке сервера
  • Многопотокового чтения-записи, прием запроса в отдельном потоке
  • Многопроцессорного чтения-записи, прием запроса в отдельном процессе

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

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

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

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

Доставить сам ответ можно двумя способами. Либо через файл на диске (медленно, но надежно), либо через системную память (быстро, но есть ограничение на размер этой памяти, которое задается в irbis_server.ini). Воспользоваться режимом «отладка» возможно только в случае обмена информацией через файлы – в этом случае они не удаляются и остаются в директории 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