Overview
We need to perform the ES benchmark for the following purposes:
Experiment with some configurations of ES for tuning
Compare the performance differences between different versions of ES
Capacity planning for the ES cluster, e.g.
how many nodes does your online ES cluster need?
What is the configuration of each node?
What is the write performance limit of this cluster?
What about read performance?
Tool
Several tools are available for performance testing, e.g. esperf, elasticsearch-stress-test or JMeter.
Here we’ll use Elastic official tool esrally, which is a macrobenchmarking framework for Elasticsearch.