Thanks, Udo & Anil! Appreciate your guidance! This is what I was kind of 
anticipating but wanted to confirm! Really, lots of good points to think about 
and I guess tuning is a key thing where I think Geode provides all the right 
knobs.

Regards, Suhas

From: Udo Kohlmeyer <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Wednesday, December 14, 2016 at 11:52 AM
To: "[email protected]" <[email protected]>
Subject: Re: Geode Server Resource recommendations


Hi there Suhas,

There is no real recommendation on heap vs CPU cores. It really boils down to 
WHAT you do and how much you willing to put into it. i.e Processing intense 
tasks will perform better on many cores, whereas the same setup is complete 
overkill for lower processing intense systems.

The approach that I have with LARGE RAM sizes, is not the amount of cache 
servers you can squeeze onto 1 physical server, but rather the amount of data I 
would have to recover upon failure of that physical server.

If you assume that you plan your memory usage as follows:

  *   20% heap for processing
  *   80% heap for storage

you need to make sure your remaining cluster can deal with 80G (assuming n+1 
redundancy) upon recover. This of course does not change if you have 1 
cacheserver vs 5.

IMO, the differences between 1 single large cacheserver vs multiple smaller 
cacheservers would be:

  *   amount of nodes data needs to be replicated to when using replicate 
regions
  *   Membership monitoring
  *   external factors influencing performance. i.e if you run multiple smaller 
cacheservers on the same physical hardware, 1 "rogue" server might consume all 
the resources(CPU,disk & network I/O) so that the other cacheservers are 
starved.
  *   In a physical node failure scenario, there is less "panic" in the cluster 
if a single cacheserver goes offline. But if you suddenly loose 5, that is a 
different story.
  *   With 5 servers you want to make sure that you don't have replicates of 
the primary data on the same physical machine. So now you need to set 
redundancy zones, to avoid that scenario.

The misconception of 5 servers processing data faster than 1 single server is 
incorrect. The defaut threads in a cacheserver becomes a limiting factor. BUT 
tuning those parameters can even out the 5 vs 1 factor.

Larger heaps *might* have longer GC pauses.... but that of course can be 
controlled. Of course full "end of the world" GC's are to be avoided at all 
costs... even with smaller JVMs.

So, I guess the right answer here is ... try it out.. there is no singular 
correct answer to this. Each has benefits and drawbacks...

--Udo


On 12/14/16 10:14, Suhas Gogate wrote:
Hi, I am looking for recommendation for amount of heap single Geode member 
server can handle reasonably well and how many CPU cores would it need 
(assuming the clients are local to member server i.e. network is not a bottle 
neck), or in other words, In a typical production deployment is there a 
recommendation on how much heap single Geode server should manage and with how 
many cores?

Also, as we have more and more RAM w/ today’s enterprise grade servers e.g. 
128G, 256G, so is it better to run multiple Geode Servers on such machines w/ 
smaller heap allocations or one server w/ large heap size?  I understand Geode 
provides a way to distribute replicas across physical machines so multiple 
servers per single machine should not be a problem in this regards. Although 
bigger heap possibly could mean bigger GC pauses?

Appreciate your insight?

Thanks & Regards, Suhas



Reply via email to