Запуск задачи в hazelcast длится › 2 секунды иногда

мы много используем распределенные задачи Hazelcast и поняли, что иногда просто запуск задачи длится> 2 секунд, даже до того, как сама задача будет выполнена. Мы сделали это на одной машине; то есть без сетевых накладных расходов. Выполняемая сама задача имеет только одну строку кода в своем методе call() (мы разместили System.currentTimeMillis() в начале и в конце), сохраняет переданный аргумент «клиент» в своем вызове конструктора — ничего больше.

Задача запускается следующим образом:

FutureTask<Member> task = new DistributedTask<Member>(new NotifyWaitingClientTask(client),
            theId);
    ExecutorService executorService = hazelcastInstance.getExecutorService();
    executorService.execute(task);
...
task.get();

Вопрос: это обычное время? Мы ожидали скорее миллисекунды на локальных машинах.


person Andreas    schedule 20.04.2011    source источник


Ответы (1)


Это ненормально, если только у вас нет двух задач, требующих слишком много времени, а потоки Executor уже заняты. Таким образом, задача не запустится, пока не появится доступный поток для выполнения, и вы увидите эту задержку.

Если это не так, можете ли вы придумать код, который мы можем запустить и воспроизвести проблему.

Фуад

Хейзелкаст

person Fuad Malikov    schedule 20.04.2011
comment
Увеличение этих размеров потоков в hazelcast.xml очень помогло! Спасибо! - person Andreas; 20.04.2011