Почему Hazelcast такой медленный по сравнению с выполнением кода на одной виртуальной машине? - PullRequest
0 голосов
/ 15 июня 2019

Как только я распространяю свое приложение через Hazelcast, оно становится очень медленным по сравнению с выполнением на одной виртуальной машине (вообще без использования Hazelcast).Настройка очень проста.Разница лишь в том, что входные данные поступают из общей очереди, а не из локальной.Я использовал очень простую настройку с двумя экземплярами Hazelcast (однако только один был выполнен по причинам сравнения) и клиентом Hazelcast, который предоставляет данные.

Являются ли накладные расходы в Hazelcast такими большими?Какие могут быть возможные причины разницы в производительности?Местное исполнение очень и очень постоянное.С помощью hazelcast я обнаружил, что время выполнения может сильно отличаться (так же быстро, как локальное выполнение, почти вдвое медленнее).

Обновление : производительность падает только по сети (в моемдело Линоде).Как только я настраиваю чисто локальную сетку, производительность хорошая.Есть идеи?

Рабочий экземпляр hazelcat

HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();
BlockingQueue<String> configs = hazelcastInstance.getQueue("configs");
String config = configs.take();
FileBotWorker fileBotWorker = new FileBotWorker(mapper.readTree(config));

Моя локальная настройка (выполнение почти в два раза больше)

JsonNode config = configLoader.loadConfig();
FileBotWorker worker = new FileBotWorker(config);

Моя конфигурация Hazelcast

<?xml version="1.0" encoding="UTF-8"?>
<hazelcast xsi:schemaLocation=
  "http://www.hazelcast.com/schema/config hazelcast-config-3.7.xsd"
  xmlns="http://www.hazelcast.com/schema/config"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <network>
        <port auto-increment="true" port-count="20">5701</port>
        <join>
            <multicast enabled="false">
        </multicast>
        <tcp-ip enabled="true">
            <member>172.104.225.xx</member> <!-- Linode machine -->
        </tcp-ip>
        </join>
    </network>
</hazelcast>
...