У нас есть кластер (Ignite v2.7) с 2 узлами данных и распределенным кешем.
Мы загрузили данные в этот кеш и начали массовую операцию чтения / записи. Кластер работает отлично. Согласно JMX очередь StripedExecutor пуста.
Мы включили резервное копирование в этот кеш, загрузили данные в этот кеш и начали массовую операцию чтения / записи.
Согласно JMX, очередь StripedExecutor постоянно растет на одном узле. Потоки sys-stripe потребляют процессор, но StripedExecutor работает медленно.
Мы используем три вида операций чтения:
распределенный sql от клиентского узла, выберите форму xxx, где ...
включить вычисления на клиентском узле,
Коллекция offerSearchResults = ignite.compute (ignite.cluster (). ForServers ()). Broadcast (new GetProductOfferJob (), computeTaskData);
GetProductOfferJob использует cache.get
возле кеша с клиентского узла 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>
Конфигурация кэша:
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="ATTR_VALUE"/>
<property name="dataRegionName" value="default_data_region"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="backups" value="1"/>
<property name="sqlSchema" value="ATTR_VALUE"/>
<property name="onheapCacheEnabled" value="true"/>
<property name="copyOnRead" value="false"/>
<property name="keyConfiguration">
<bean class="org.apache.ignite.cache.CacheKeyConfiguration">
<property name="typeName" value="entity.key.AttributeValueKey"/>
<property name="affinityKeyFieldName" value="segId"/>
</bean>
</property>
<property name="queryEntities">
<list>
<bean class="org.apache.ignite.cache.QueryEntity">
<property name="keyType" value="entity.key.AttributeValueKey"/>
<property name="valueType" value="entity.AttributeValue"/>
<property name="fields">
<map>
<entry key="segId" value="java.lang.String"/>
<entry key="value" value="java.lang.String"/>
<entry key="attrId" value="java.lang.Long"/>
<entry key="entityObjectId" value="java.lang.Integer"/>
</map>
</property>
<property name="keyFields">
<set>
<value>segId</value>
<value>value</value>
<value>attrId</value>
<value>entityObjectId</value>
</set>
</property>
</bean>
</list>
</property>
</bean>