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

Search benchmarks are single-threaded and suffer from coordinated omission #64

Closed
jasontedor opened this issue Feb 25, 2016 · 2 comments
Closed
Milestone

Comments

@jasontedor
Copy link
Member

@jasontedor jasontedor commented Feb 25, 2016

The search benchmarks executes queries in a single-threaded fashion that suffers from coordinated omission. This hides a variety of problems that could impact search latency:

  • lower allocation rates than real-world scenarios leading to less interruption from garbage collection pauses
  • lower context switch rates than real-world scenarios
  • no lock contention within the Elasticsearch codebase
  • coordinated omission hides true search latency under load
@jasontedor
Copy link
Member Author

@jasontedor jasontedor commented Feb 25, 2016

@danielmitterdorfer danielmitterdorfer mentioned this issue Mar 2, 2016
5 of 5 tasks complete
@danielmitterdorfer
Copy link
Member

@danielmitterdorfer danielmitterdorfer commented Mar 26, 2016

I implemented a proof-of-concept script outside of Rally based on the (experimental) elasticsearch-py-async library. It can schedule requests at a fixed rate and is not prone to coordinated omission anymore.

Integrating this into Rally has a few implications though and I have to chat with Honza first about that. One issue is the status of elasticsearch-py-async itself (experimental) and that it relies on a different version of the elasticsearch-py client library. As we use elasticsearch-py currently for all sorts of tasks, we would also need to change the internal connection to the metrics store, bulk indexing and a few other places.

@danielmitterdorfer danielmitterdorfer added this to the 0.2.3 milestone Apr 23, 2016
@danielmitterdorfer danielmitterdorfer modified the milestones: 0.2.2, 0.2.3 May 4, 2016
@danielmitterdorfer danielmitterdorfer modified the milestones: 0.4.0, 0.3.0 May 17, 2016
@danielmitterdorfer danielmitterdorfer self-assigned this Jun 29, 2016
@danielmitterdorfer danielmitterdorfer modified the milestones: 0.4.0, 0.3.1 Jul 27, 2016
@danielmitterdorfer danielmitterdorfer removed their assignment Nov 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.