When we talk about vertical scaling, we often mean adding more resources to the server Elasticsearch is running on. We can add memory or we can switch to a machine with a better CPU or faster disk storage. Of course, with better machines we can expect an increase in performance; depending on our deployment and its bottlenecks, it can be a small or large improvement. However, there are limitations when it comes to vertical scaling. For example, one of the limitations is the maximum amount of physical memory available for your servers or the total memory required by the JVM to operate. When having large data and complicated queries, you can very soon run into memory issues and adding new memory may not help at all. In this section, we will try to give you general advice on where to look and what to tune when it comes to a single Elasticsearch node.
The thing to remember when tuning your system is performance tests, ones that can be repeated under the same...