How many cores does each node have? Numbers of which threads do you increase? The ones doing the get() calls?
Thread dump from the client isn’t that interesting. Better to look what’s going on the servers. You need to monitor your resources – CPU, Network IO, Disk IO. You may hit the limit on all of them. You need to monitor your GC – perhaps that’s what’s taking all of the resources. You need to look into your cache store – read-through is enabled, so you might be hitting performance issues with your cache store implementation and/or backing database. You may need to have a performance profile – take JFR from all nodes. Performance is a very complex topic and Ignite is a very complex system. One can’t say for sure what’s going on just by looking at the config. You have to look into everything at once to be able to make sense of it, and it’s hardly something that can be done on a user mailing list. Stan From: the_palakkaran Sent: 2 декабря 2018 г. 17:01 To: user@ignite.apache.org Subject: Re: Ignite not scaling as expected !!! (Thread dump provided) Hi Amir, I have two server nodes and 1 client node. I have two caches, one that holds entire accounts from DB and another counter cache that is used for counter operations. The server nodes are deployed on two different nodes and clustered together. A client that is also on one of the machines of the two server nodes deployed tries to access data from the caches. Ignite Configuration is provided below: * <bean class="org.apache.ignite.configuration.IgniteConfiguration"> <property name="networkTimeout" value="50000" /> <property name="failureDetectionTimeout" value="50000" /> <property name="discoverySpi"> <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> <property name="ipFinder"> <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> <property name="addresses"> <list> <value>ip1:47500..47509</value> <value>ip2:47500..47509</value> </list> </property> </bean> </property> </bean> </property> <property name="communicationSpi"> <bean class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi"> <property name="socketWriteTimeout" value="5000"/> <property name="usePairedConnections" value="true"/> </bean> </property> <property name="gridLogger"> <bean class="org.apache.ignite.logger.log4j2.Log4J2Logger"> <constructor-arg type="java.lang.String" value="./config/ignite-log4j2.xml" /> </bean> </property> <property name="peerClassLoadingEnabled" value="false" /> <property name="dataStorageConfiguration"> <bean class="org.apache.ignite.configuration.DataStorageConfiguration"> <property name="dataRegionConfigurations"> <list> <bean class="org.apache.ignite.configuration.DataRegionConfiguration"> <property name="name" value="defaultDataRegion" /> <property name="initialSize" value="#{1L * 1024 * 1024 * 1024}" /> <property name="maxSize" value="#{8L * 1024 * 1024 * 1024}" /> <property name="pageEvictionMode" value="RANDOM_LRU" /> <property name="persistenceEnabled" value="true" /> </bean> </list> </property> </bean> </property> <property name="cacheConfiguration"> <list> <bean class="org.apache.ignite.configuration.CacheConfiguration"> <property name="name" value="counterRegionCache"/> <property name="atomicityMode" value="TRANSACTIONAL"/> <property name="backups" value="1"/> <property name="cacheMode" value="PARTITIONED"/> <property name="readThrough" value="false"/> <property name="writeThrough" value="true"/> <property name="writeBehindEnabled" value="true"/> <property name="writeBehindFlushSize" value="20000"/> <property name="writeBehindFlushFrequency" value="60000"/> <property name="writeBehindFlushThreadCount" value="8"/> <property name="writeBehindBatchSize" value="2500"/> <property name="dataRegionName" value="defaultDataRegion"/> <property name="cacheStoreFactory"> <bean class="javax.cache.configuration.FactoryBuilder" factory-method="factoryOf"> <constructor-arg value="cache.ignite.counter.cachestore.CounterCacheStore" /> </bean> </property> </bean> <bean class="org.apache.ignite.configuration.CacheConfiguration"> <property name="name" value="accountMasterCache" /> <property name="atomicityMode" value="ATOMIC" /> <property name="backups" value="1" /> <property name="cacheMode" value="PARTITIONED" /> <property name="readThrough" value="true" /> <property name="writeThrough" value="false" /> <property name="dataRegionName" value="defaultDataRegion" /> <property name="writeSynchronizationMode" value="FULL_SYNC"/> <property name="cacheStoreFactory"> <bean class="javax.cache.configuration.FactoryBuilder" factory-method="factoryOf"> <constructor-arg value="cache.ignite.groups.accountMaster.cachestore.AccountMasterCacheStore" /> </bean> </property> </bean> </list> </property> <property name="serviceConfiguration"> <list> <bean class="org.apache.ignite.services.ServiceConfiguration"> <property name="name" value="cacheLoaderService" /> <property name="totalCount" value="1" /> <property name="service"> <ref bean="cacheLoaderService" /> </property> </bean> </list> </property> </bean> * -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/