4 ms·
I haven't worked with Cassandra much but I know the Elastic Search guys suggest running multiple nodes per box if your hardware is too big. They claim that the
by stonemetal 10y ago
I haven't worked with Cassandra much but I know the Elastic Search guys suggest running multiple nodes per box if your hardware is too big. They claim that the JVM works better if you keep its heap size under 32GB. Since Cassandra also runs on the JVM maybe a similar logic applies to it? Later on he mentions each Cassandra process gets 32GB heap.
- snuxoll 10y agoSounds like it would make tuning your RF for durability a pain in the ass if you run multiple cassandra nodes on the same box. Cassandra uses non-JVM managed memory for a fair amount of work and relies heavily on the OS filesystem cache (much like Pg), unless you are consolidating multiple Cassandra clusters to one box I would keep one node per physical machine for durability reasons alone.
- ddorian43 10y agoThey've been moving as many stuff as possible outside of the heap or to filesystem.
- user5994461 10y agoThe 32GB is a global guidelines for ALL JVM applications. Under 32GB, the JVM uses 32 bits pointers. [actually slightly under 32GB] Over 32GB, the JVM uses 64 bits pointers. Pointers consume a lot of space in a running program. Basically, a 30 GB heap (with 32bits pointers) is the same as a 40GB heap (with 64bits pointers). That means, there is a chasm between 30-40GB heap where it makes no sense to run a server. The additional space is wasted by the bigger pointers. Second, 30GB is a sweet stop. It's simple to justify and enough for most applications. (A bigger heap will give longer GC time and other side effects, most people don't need to get into that kind of optimizations).