Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Часто задаваемые вопросы (FAQ) :  ИРБИС Irbis
Исключительно важный раздел форума, который необходимо прочитать всем, кто только начинает работать с Ирбисом. Если ваши знания не так широки, как вам хотелось бы, тогда обязательно прочитайте этот раздел. Если вы не нашли, что искали, то воспользуйтесь поиском по форуму, и, скорее всего, вы найдете ответ на свой вопрос среди существующих сообщений. 
ИРБИС на виртуальном сервере
Пользователь: SheinEA (IP-адрес скрыт)
Дата: 20, December, 2012 10:14

Виснет ИРБИС установленный на Виртуальную машину.
Характеристики сервера: Windows Server 2008 R2 Enterprise, Intel Xeon 2.67, 4G, сервер виртуальный
Версия ИРБИС: 2011.1
Симптомы: Прерывается связь с сервером, приложения не запускаются при этом служба работает.
Решение: Помогает лишь перезапуск службы service_64.exe
Вопрос: В чем проблема и как ее решить?

Re: ИРБИС на виртуальном сервере
Пользователь: Gena (IP-адрес скрыт)
Дата: 20, December, 2012 11:05

скорее всего проблема в сбое сети. У меня в одной библиотеке ирбис крутился на виртуальной машине лет пять, прежде чем ему выделили отдельный сервер. Никаких проблем не случалось. А вот то, что вы описал, очень похоже на проблему с сетью. У Ирбиса высокие требования к надежности сети. Если по каким-то ричинам начинают пропадать пакеты от клиента к серверу (а пакеты все нумерованные), то с сервером такое может происходить. Он просто начинает ждать, когда же ему прийдет пакет с номером на единицу большем, чем предыдущий. А если пакет потерялся, сервер может так и остаться в постоянном ожидании

Re: ИРБИС на виртуальном сервере
Пользователь: Михайленко Илья (IP-адрес скрыт)
Дата: 20, December, 2012 13:50

Действительно, проблема скорее всего в сети. По крайней мере, несколько серверов под Hyper-V с большой нагрузкой (более 1 млн запросов в сутки) вижу каждый день.

Последовательность номеров пакетов для сервера не важна. Тут главное условие - от одного клиента не может придти два пакета с одинаковым номером (в этом случае результат непредсказуем).
Причина зависания сервера в другом: при ошибке в сетевом взаимодействии вешается основной поток, который принимает пакеты и отправляет их на обработку. Если пакет пришел не полностью, то основной поток занят ожиданием хвоста пакета. Так как такой поток всегда один, то пока он его (безуспешно) ждет, ни один клиент соединиться с сервером не может - тут помогает лишь перезапуск сервиса.
Сервер И64 рассчитан на работу строго в локальных сетях с вероятностью доставки пакетов 99.9999%
Для обеспечения работы с "трудными" клиентами есть несколько вариантов:
1. Таки разобраться с сетью. Это самое главное. Без этого - что бы вы ни придумывали, проблемы у вас будут всегда. Нет сети - нет никакой работы.
2. Использование cgitoirbis - позволяет завернуть протокол ирбис64 в протокол http. Цена - скорость работы. Надежность то же не блеск, т.к. зависимость будет не только от сервера и64, но и от веб-сервера (тот же 1 млн запросов в сутки для вебсервера не так прост - тот же Apache под Windows весьма страдает утечками памяти со всеми вытекающими)
3. Замена таких клиентов на 128-й. Запросы "высокоуровневые", потому их не так много, однако тут необходимо обратить особое внимание на различия в функциональности между 64 и 128



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.