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
