- RAM to be 32 GB or 64 GB for a virtual machine.
- JVM Heap size to 50% of RAM, max up to 32 GB. Keep at least 50% RAM available.
- If Elasticsearch must scale vertically, then add more vCPUs.
- Start with a proof of concept, and then test, optimize, iterate, and scale.
- Elasticsearch recommends increasing ulimit of File descriptors to 65536.
- Disable swap file.
- Increase the refresh interval of index from 1 s to more. For example, 20 s. This interval depends on case to case basis.
- Benchmarking VM where Rally is supposed to run on a different VM which is not part of the Elasticsearch cluster.
- Link followed for benchmarking https://www.elastic.co/blog/seven-tips-for-better-elasticsearch-benchmarks.
Note: These best practices were used for the Elasticsearch configuration on a virtual machine and few choices made were subjective.