We have a small business running a medium sized ES v2.3.1 cluster currently consisting of 7 nodes with 8 CPUs and 30gb of RAM.
There are two types of data being stored:
- Static indices of 20M records (about 20gb each), 5 shards, 0 replica per index
- Streaming day-based indices of 25gb each, 5 shards per index, 1 replica (spread over 6/7 nodes)
At the moment our topolgy if simply making all of the servers master/data/client and then letting it do its thing. No dedicated nodes for anything.
The cluster currently indexes 30 items/second, and serves up to 1000 queries per second, and the total size of the cluster is now around 3TB on HDDs.
Our cluster is however not performing very well, and we want to optimize it but are unsure of what to do. Our options as I see it is:
- Add more nodes
- Use dedicated master/client/data nodes (if yes, which topology?)
- Use SSDs
Any suggestion as to how we should proceed?