1. Prerequisites
The operation of esrally will not affect all normal operations of the current system elasticsearch.
2. Principle of performance test
The general steps are summarized as follows:
Step 1: Install esrally, which will take between half an hour and an hour.
It mainly completes the installation of esrally necessary components, and more is the installation of elasticsearch.
Two ways to install elasticsearch:
Method 1: The most commonly used installation method, source code installation. Just run esrally, which is equivalent to running:
esrally race --pipeline=from-sources-complete --revision=current --track=geonames --challenge=append-no-conflicts --car=defaults
Method 2: Specify the elasticsearch version to install, as shown below:
esrally –pipline=from-distribution –distribution-version=2.3.4,
Rally will download elasticsearch2.3.4 from the following official website link
https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/ 2.3.4/elasticsearch-2.3.4.tar.gz
So far, esrally has been successfully installed, and the corresponding elaticsearch has been successfully installed.
Step 2: Comprehensive testing.
You can view the results from the log. The final log storage file is:
/home/elasticsearch/.rally/benchmarks/races/2016-08-10-06-50-06/local/logs-geonames-append-no-conflicts-defaults. zip
You can view the following information, we can see operations such as PUT/POST/GET/DELETE/HEAD.
Each test records the status status, request time request.
2016-08-10 06:52:30,221 elasticsearch INFO GET http://localhost:39200/_cluster/health?wait_for_status=green&timeout=3s&wait_for_relocating_shards=0 [status:20 0 request:0.011s]
......
2016-08-10 06:52:34,674 elasticsearch INFO POST
http://localhost:39200/_bulk [status:200 request:4.264s]
……
2016-08-10 07:04:11,309 elasticsearch INFO GET
http://localhost:39200/geonames/_stats/_all?level=shards [status:200 request:0.027s]
……
2016-08-10 07:16:18,219 elasticsearch INFO DELETE
http://localhost:39200/_search/scroll/DnF1ZXJ5VGhlbkZldGNoBQAAAAAAACDMFlotSVZXOUkzUWFpTFFGWEVEZzhxcncAAAAAAAAgzhZaLUlWVzlJM1FhaUxRRlhFRGc4cXJ3AAAAAAAAIM8WWi1JVlc5STNRYWlMUUZYRURnOHFydwAAAAAAACDQFlotSVZXOUkzUWFpTFFGWEVEZzhxcncAAAAAAAAgzRZaLUlWVzlJM1FhaUxRRlhFRGc4cXJ3 [status:200 request :0.002s]
“`
Step 3: Statistics and give the final result. esrally will run for a long time and complete the following types of test operations:
Racing on track [geonames] and challenge [append-no-conflicts] with car [defaults] Benchmarking indexing at 12590.4 docs/s [100% done]
Benchmarking stats (warmup iteration 100/100) [100% done] Benchmarking stats (iteration 100/100) [100% done] Benchmarking search (warmup iteration 100/100) [100% done] Benchmarking search (iteration 100/100) [100% done]
The final test result is given: "
_______ __ _____ / ____(_)___ ____ _/ / / ___/_________ ________ / /_ / / __ \/ __
/ / __ \/ / \/ / _ \ / / / / / / / // / / / / // // / / / / // /// //_,// /_/__/____// __/
Metric | Value |
---|---|
Min Indexing Throughput [docs/s] | 12410 |
Median Indexing Throughput [docs/s] | 12675.2 |
Max Indexing Throughput [docs/s] | 13567 |
Indexing time [min] | 158.259 |
Merge time [min] | 29.5808 |
Refresh time [min] | 8.4305 |
Flush time [min] | 2.11967 |
Merge throttle time [min] | 1.16355 |