猿问

Apache Ignite:StripedExecutor queue and backup

我们有一个包含2个数据节点和分布式缓存的cluste(Ignite v2.7)。

我们将数据加载到此缓存中,并启动了大规模读/写操作。群集工作完美。根据JMX,StripedExecutor队列是空的。

我们在此缓存上启用了备份,将数据加载到此缓存中,并启动了大规模读/写操作。根据JMX,StripedExecutor队列在一个节点上不断增长。系统条带线程消耗 CPU,但 StripedExecutor 工作缓慢。

我们使用三种读取操作:

  1. 从客户端节点分离 sql,选择表单 xxx 其中 ...

  2. ignite compute from client node,
    Collection offerSearchResults = ignite.compute(ignite.cluster().forServers()).broadcast(new GetProductOfferJob(), computeTaskData);GetProductOfferJob 使用 cache.get

  3. 从客户端节点缓存附近,cache.get

这是备份内部的错误吗?

数据区域配置:

<property name="dataStorageConfiguration">

        <bean class="org.apache.ignite.configuration.DataStorageConfiguration">

            <property name="systemRegionInitialSize" value="#{100 * 1024 * 1024}"/>

            <property name="pageSize" value="16384"/>

            <property name="walMode" value="LOG_ONLY"/>

            <property name="writeThrottlingEnabled" value="true"/>

            <property name="dataRegionConfigurations">

                <list>

                    <bean class="org.apache.ignite.configuration.DataRegionConfiguration">

                        <property name="name" value="default_data_region"/>

                        <property name="initialSize" value="#{10L * 1024 * 1024 * 1024}"/>

                        <property name="maxSize" value="#{50L * 1024 * 1024 * 1024}"/>

                        <property name="metricsEnabled" value="false"/>

                        <property name="persistenceEnabled" value="true"/>

                    </bean>

                </list>

            </property>                

        </bean>

    </property>


摇曳的蔷薇
浏览 130回答 2
2回答

斯蒂芬大帝

在缓存上启用备份后,群集上的负载量增加了一倍。对于 0 个备份,每次写入就是在一个节点上进行一次操作。使用 1 个备份,每次写入是两个操作 - 每个节点一个。随着负载增加一倍,集群似乎已经窒息了。我假设您需要添加一些节点来处理此负载量。

慕妹3146593

发生这种情况的原因是,即使配置中没有日志追加器,也会使系统出现大量日志。您可以在点燃日志配置中设置更高的日志级别。
随时随地看视频慕课网APP

相关分类

Java
我要回答