|
7 years ago | |
---|---|---|
.. | ||
src | 22459576d7 Logging: Make node name consistent in logger (#31588) | 7 years ago |
README.md | 21eb9695af Build: Remove shadowing from benchmarks (#32475) | 7 years ago |
build.gradle | 7f7e8fd733 Disable assemble task instead of removing it (#33348) | 7 years ago |
client-benchmark-noop-api-plugin
with gradle :client:client-benchmark-noop-api-plugin:assemble
bin/elasticsearch-plugin install file:///full/path/to/client-benchmark-noop-api-plugin.zip
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.
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.
Download benchmark data from http://benchmarks.elasticsearch.org.s3.amazonaws.com/corpora/geonames 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 type 8647880 5000'
The parameters are all in the '
s and are in order:
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:
TransportClientBenchmark
uses QueryBuilders.wrapperQuery()
internally which automatically adds a root key query
, so it must not be present in the command line parameter.