Infinispan хот-род с задержкой

В нашем приложении мы используем горячий стержень Infinispan. Иногда извлечение из кеша занимает больше времени. Это происходит непостоянно. В большинстве случаев это занимает 6 мс, но иногда это занимает очень много времени (200 мс).

Размер объекта, извлеченного из кеша, составляет около 200 байт.

Мы тестировали как в infinispn 5.2.1, так и в JDG 6.3.2.

Кто-нибудь сталкивался с этой проблемой?

Спасибо

Жизни


person lives    schedule 25.01.2015    source источник


Ответы (1)


Помните, что вы используете Java, и это означает, что сборщик мусора может сработать в любое время, и это даст вам 200 мс, если вам очень повезет, несколько секунд, если нет, и до нескольких минут, если у вас большая куча, а не хорошо настроенные настройки GC.

Поскольку для извлечения из распределенного кеша требуется RPC на другой узел и обработка RPC там, планирование потоков также играет жизненно важную роль. И в загруженной системе нет ничего удивительного в том, что поток ожидает.

С точки зрения Infinispan поиск не должен ждать. Запрос преобразуется в RPC в удаленный режим, и там он обрабатывается тем же потоком, который получил сообщение. Запрос не ожидает блокировок.

В JGroups может быть некоторая задержка. Сообщение может быть потеряно в сети или отброшено получателем, если оно не справляется с нагрузкой, а затем повторно отправлено. Кроме того, протокол UFC гарантирует, что скорость получателя может соответствовать скорости отправителя.

Все, что построено на основе Java не в реальном времени, работает с максимальной отдачей, но иногда случается дерьмо. 200 мс по-прежнему хорошее время отклика.

person Radim Vansa    schedule 30.01.2015
comment
Спасибо за подробный ответ. Мы не сталкивались с проблемой с JDG 6.3.2 в течение последних нескольких дней. Понаблюдаю еще некоторое время - person lives; 02.02.2015