Add nodes or add CPU

Hi! I have 3 nodes cluster (build on virtual machines 24 cores 72Gb mem each). 120k/s messages.
Cpu usage about 75-80% so, probably, I need to add more CPU. Also I want to add more disk space (x2 more).
So I have two ways. First, I can to add CPU and disk to current nodes. Second way is to add 3 more nodes.
So question is which way is better?

Hi @terrainc Welcome to the Community

As you allude to there is probably no "absolute correct" answer but I will provide my opinion, others may provide different, and of course there is always tons of details which we have not covered, (use case, total storage, write / read throughput goals etc)

In my opinion you should start to scale horizontally ... Why?

  • You already have pretty scaled / beefy vertically scaled nodes,

  • Max JVM Heap is 28 - 30GB so per node, more nodes will allow more heap, more shards etc.

  • If you want more parallelism for write (and perhaps read) distributing more primary shards across more nodes can help

  • Also IF you happen to lose a node, it will be less impactful to the overall system, at some point with a distributed system I will take more smaller over less larger...

Cons : More to Manage and Upgrade.

3 Likes

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.