You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by "steve.hostettler" <st...@gmail.com> on 2020/08/21 12:35:50 UTC

Optimise replicated caches in multinodes

Hello,

in order to provide "easy" multinode, we have set all of our caches to
REPLICATED and FULL_ASYNC. We get an improvment (Around 20%) with a second
node, but it is very clear that somehow the grid is waiting (95% cpu
utilization with 1 node, 75% with 2 nodes).

I understand that I should rather go for partitioned caches, but I am trying
here to provide an "easy" first step towards multinode by avoiding rewriting
the logic.

Looking at the statistics I get the following 

GridNearAtomicSingleUpdateRequest=766,197
GridDhtAtomicDeferredUpdateResponse=8,634
GridDhtAtomicSingleUpdateRequest=1,681,590
GridNearAtomicUpdateResponse=836,598

I assume that these are linked to the put in the replicated caches that are
asynchronously sent to the other node.

I would like to understand a bit better these numbers and the difference
between them.
Another question: is there a way to increase the batching of messages on the
grid. Especially when it comes to replicated caches?

Thanks a lot for your help



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Optimise replicated caches in multinodes

Posted by akorensh <al...@gmail.com>.
Hi,
   You are correct, these are Ignite request/response messages generated
when you are putting data into 
   a cache. The numbers roughly correspond to different multiples of the 
number of put/putAll you are 
   performing. These numbers will depend on how large the objects you are
putting into the cache are, the  
   network throughput, cpu config, and other hardware/OS  parameters.
 
   It is best to use system provided metrics to measure performance.   
  https://apacheignite.readme.io/docs/new-metrics
  https://apacheignite.readme.io/docs/cache-metrics
  https://apacheignite.readme.io/docs/memory-metrics
  More information is provided in system views:
https://apacheignite.readme.io/docs/system-views


  To measure performance/fine-tune Ignite to your use case
  determine the # of caches, size of objects, number of puts/gets you are
trying to perform in a given 
  interval.  Set the cache(s) to different parameters to see   what
throughput you achieve. Try using 
  putAll/datastreamers when possible.  Use the information in the above
provided links to measure each 
  scenario. https://apacheignite.readme.io/docs/cache-modes
  Use the above provided links to measure each scenario.
  Use data in this link to prepare your use case for prod:
https://apacheignite.readme.io/docs/preparing-for-production


  Data Streamers provide the ability to batch messages. See
https://apacheignite.readme.io/docs/data-streamers

Thanks, Alex



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/