Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks #20103

Merged

Conversation

danielmitterdorfer
Copy link
Member

With this PR we add a noop plugin for Elasticsearch. It is needed to reduce the amount of request processing that is done on server-side to avoid introducing accidental bottlenecks and uncertainty on server side in order to stress clients in client-side benchmarks.

@rjernst
Copy link
Member

rjernst commented Aug 22, 2016

@danielmitterdorfer Could we instead have a dummy http server (not even using ES) that responds on the expected paths? I think it would be a lot more transparent (no possibility of accidentally not setting/changing something in ES which results in real work being done). If that doesn't work, then can we at least have a better, more descriptive name than "noop"? Something that makes it clear it is for benchmarking, and makes indexing requests noops...but I would still prefer just not using ES at all for this, since it does not seem necessary.

@danielmitterdorfer
Copy link
Member Author

danielmitterdorfer commented Aug 22, 2016

@rjernst I can change name, sure. Regarding the plugin's purpose: We could use a dummy HTTP server but the thing is that this is also used for benchmarking the transport client and there is no substitute for that. Also, using ES for the server-side component ensures that the interaction model stays as close as possible to a real use case.

@danielmitterdorfer
Copy link
Member Author

danielmitterdorfer commented Aug 23, 2016

I've renamed the plugin now to "client-benchmark-noop-api-plugin" to indicate that it provides a no operation (No op) API and its purpose (benchmarking clients).

@danielmitterdorfer danielmitterdorfer changed the title Add noop-plugin to stress clients even more in benchmarks Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks Aug 23, 2016
@danielmitterdorfer
Copy link
Member Author

@rjernst Are you otherwise fine with the change (especially after my explanation why the plugin is needed at all)?

case "search":
runSearchBenchmark(args);
break;
case "bulk":
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just curious, why isn't this called "indexing"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No special reason tbh. I just used the specific indexing approach as name.

@rjernst
Copy link
Member

rjernst commented Aug 24, 2016

LGTM

@danielmitterdorfer
Copy link
Member Author

Thanks for your review Ryan.

@danielmitterdorfer danielmitterdorfer merged commit 7b81c4c into elastic:master Aug 26, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants