Can elastic/rally point to existing ES configurations for benchmarking


#1

Hey,
I looking at doing some bench marking for different ElasticSearch cluster configurations
I've seen this: https://github.com/elastic/rally

It says that when you kick it off it downloads the benchmark data, pulls down the latest Elastic version and executes the benchmark.

I want to run the benchmark against an existing ES cluster configured one way, then run it again against a clsuter configured a different way. Is it possible to do this with Rally?


(Daniel Mitterdorfer) #2

Hi @paulbarr,

this is kind of doable but not so convenient. The situation is similar to what we had with tracks a few weeks ago. You have basically two options:

  1. Install Rally in development mode, open car.py and configure the "cars" you need (we call an Elasticsearch configuration a "car"). Note that this is currently limited but we'll eventually allow you to configure it much more flexible.
  2. Don't have Rally provision your cluster but instead to it manually and point Rally to your cluster by using the pipeline benchmark-only

Just let me know if you need further help.

Daniel

Daniel


(Daniel Mitterdorfer) #3

Hi,

One small addition: If you use the second approach with the pipeline benchmark-only (which seems to be more likely to me in your scenario), please ensure that you use Rally 0.3.1. (released yesterday) as I've fixed a related bug there.

Daniel


#4

Hey,
Thanks for the information. Option 2 looks like it might work well for us.
Will this work with older versions of ElasticSearch? We currently use ES version: 2.2.0


(Daniel Mitterdorfer) #5

Hi @paulbarr,

yes, if you use the standard "tracks" (benchmarks). We have created them in a way so they support all versions between ES 1.7 and the latest 5.0 builds.

Daniel


#6

Thanks Daniel,

This looks like the right option for us now - we'll grab it down and try it out


(Vincent De Smet) #7

Hi,

just starting out with esrally to test several deployment configurations on kubernetes...

I'm mainly playing with Heapsize, memory limits and requests to see how/if they affect performance.

These are the steps I follow to run the benchmarks: https://github.com/honestbee/docker-esrally

I'm always using an external cluster (benchmark-only) and in between races I change the deployment parameters (which destroys the old master/data/client nodes and creates new nodes)...

I'm able to list the races, comparing 2 races completes "successfully" - but it doesn't show any metrics... please let me know what more information you need?


(Daniel Mitterdorfer) #8

Hi @so0k,

can you please create a new topic to discuss this?

Daniel


(Vincent De Smet) #9

sure, I didn't want to flood the forum with similar topics, I thought this was a follow on to testing external clusters ~ running tournaments for external clusters.

I'll create another topic


(Daniel Mitterdorfer) #10

Thanks! :slight_smile:


(Daniel Mitterdorfer) #11