Elasticsearch: Optimization Guide
You may already have setup an Elasticsearch cluster but you're struggling with numerous issues:
- Indexing is slow: somehow you're not getting the ingestion performance you expected,
- Out of Memory: your nodes are regularly hitting the Java Xmx mark and you don't know why,
- all CPU cores are not used: somehow you are struggling to vertically scale the database to take advantage of multiple CPU cores,
- and much more.
After spending several years maintaining, upgrading and tweaking Elasticsearch, we've learnt a lot of things along the way. We feel like the tips and tricks to optimize Elasticsearch provided here can be useful to others.
With tools like Kubernetes or Rancher, it's becoming much easier to exploit physical hardware without the need of an entire IT department. The optimizing guide below intends to provide a solid foundation for people willing to setup Elasticsearch at scale in production. Let's start!

