mirror of
https://github.com/wazuh/wazuh-indexer.git
synced 2025-12-10 12:42:49 -06:00
* Update Gradle to 8.5 Signed-off-by: Andriy Redko <andriy.redko@aiven.io> * Revert "remove unnecessary empty `build.gradle` files (#4723)" This reverts commit a6b984ba5a2f57cf2e3260706e65da72cabaa9a8. Signed-off-by: Andriy Redko <andriy.redko@aiven.io> --------- Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
Steps to execute the benchmark
- Build
client-benchmark-noop-api-pluginwith./gradlew :client:client-benchmark-noop-api-plugin:assemble - Install it on the target host with
bin/opensearch-plugin install file:///full/path/to/client-benchmark-noop-api-plugin.zip. - Start OpenSearch on the target host (ideally not on the machine that runs the benchmarks)
- Run the benchmark with
./gradlew -p client/benchmark run --args ' params go here'
Everything in the ' gets sent on the command line to JMH. The leading
inside the 's is important. Without it parameters are sometimes sent to
gradle.
See below for some example invocations.
Example benchmark
In general, you should define a few GC-related settings -Xms8192M -Xmx8192M -XX:+UseConcMarkSweepGC -verbose:gc -XX:+PrintGCDetails and keep an eye on GC activity. You can also define -XX:+PrintCompilation to see JIT activity.
Bulk indexing
Download benchmark data and decompress them.
Example invocation:
wget http://benchmarks.elasticsearch.org.s3.amazonaws.com/corpora/geonames/documents-2.json.bz2
bzip2 -d documents-2.json.bz2
mv documents-2.json client/benchmark/build
gradlew -p client/benchmark run --args ' rest bulk localhost build/documents-2.json geonames 8647880 5000'
The parameters are all in the 's and are in order:
- Client type: Use "rest"
- Benchmark type: Use either "bulk" or "search"
- Benchmark target host IP (the host where OpenSearch is running)
- full path to the file that should be bulk indexed
- name of the index
- number of documents in the file
- bulk size
Search
Example invocation:
./gradlew -p client/benchmark run --args ' rest search localhost geonames {"query":{"match_phrase":{"name":"Sankt Georgen"}}} 500,1000,1100,1200'
The parameters are in order:
- Client type: Use "rest"
- Benchmark type: Use either "bulk" or "search"
- Benchmark target host IP (the host where OpenSearch is running)
- name of the index
- a search request body (remember to escape double quotes).
- A comma-separated list of target throughput rates