Run a benchmark against an old ES deployment circa 5.6?

Hi, I'm trying to run some benchmarks for older versions of the service we're running (had some comments from users about "performance not being so good nowadays") and wanted to prove it wasn't the case or find out if there is an issue.

I have an instance of it with ES 5.6.16 which I think is as far as it could go along that branch before EOL.

Can I check out and compile Rally from an old version and if so, any idea which one is the least old?

TIA.

Never mind, v2.1.0 works for that version of ES I think.

I installed pyenv and switched to python 3.8 then pip install esrally==2.1.0 did the trick.

1 Like

Glad that you were able to solve your issue! In the future, note that you can look at the migration guide to see when specific versions of Elasticsearch get dropped. In this case, as you noticed, support was dropped in 2.2.0: Migration Guide - Rally 2.6.0 documentation, so 2.1.0 is indeed the last version with Elasticsearch 5.x support.

Note that if you then want to compare results with a newer version of Elasticsearch, you should use the same version of Rally if possible, as upgrading Rally can potentially give different results: we continually improve it to report more realistic results.

Thanks Quentin. Maybe I should start another thread but do you know how to force the elasticsearch client to use requests (as opposed to urllib3)? I am having some SSL configuration problems with the latter but the former seems to work in all cases. I tried passing connection_class:RequestsHttpConnection as a client option but it doesn't work.

Yes, please open another topic. Rally only supports urllib3, but I'm sure we can help you with the issues you're seeing.

Looking more closely at the code, there's no reason why requests would not work actually. But we've never tested it. Can you please share in what way it does not work?

You already saw but since it's maybe more a client issue I opened this thread:

Thanks