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

Move key's headers check outside of eblob_fill_write_control_from_ram #165

Open
shaitan opened this issue Nov 26, 2015 · 0 comments
Open
Assignees
Labels

Comments

@shaitan
Copy link
Member

shaitan commented Nov 26, 2015

This check was added in 9685074 and it is intended to determine broken records and incongruity between index and blob.

This check should be moved outside of eblob_fill_write_control_from_ram because eblob_fill_write_control_from_ram is always called under global lock on b->lock and additional seek under this lock leads to degradation of response time.

Our load tests showed follow degradation:

quantile original v0.23.10 v0.23.10 with reverted 9685074
99% 82.0 ms 26.0 ms (-56.0)
98% 27.0 ms 16.0 ms (-11.0)
95% 26.0 ms 10.0 ms (-16.0)
90% 26.0 ms 7.0 ms (-19.0)
85% 21.0 ms 5.0 ms (-16.0)
80% 18.0 ms 3.0 ms (-15.0)
75% 15.0 ms 3.0 ms (-12.0)
50% 6.0 ms 2.0 ms (-4.0)

In both tests timeout on the client was set to 25 ms.

I will deal with this issue in the near future (1-2 weeks), but until then I'm ready to discuss the proposals where this check can be moved or how it can be transformed.

@shaitan shaitan added the bug label Nov 26, 2015
@shaitan shaitan self-assigned this Nov 26, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant