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

perf: insert tail latency issue #121

Closed
MrCroxx opened this issue Sep 5, 2023 · 5 comments
Closed

perf: insert tail latency issue #121

MrCroxx opened this issue Sep 5, 2023 · 5 comments
Assignees
Labels
feature New feature or request

Comments

@MrCroxx
Copy link
Collaborator

MrCroxx commented Sep 5, 2023

Sometimes insert tail latency is abnormally high. Needs investigation.

@MrCroxx MrCroxx added the feature New feature or request label Sep 5, 2023
@MrCroxx MrCroxx self-assigned this Sep 5, 2023
@MrCroxx
Copy link
Collaborator Author

MrCroxx commented Sep 5, 2023

image

A case that rotates a few times leads to insert slow. (And rotate is slower than expected, too.)

@MrCroxx
Copy link
Collaborator Author

MrCroxx commented Sep 5, 2023

image

Sometimes leader acquire clean buffer can be slow. That may hold back followers.

@MrCroxx
Copy link
Collaborator Author

MrCroxx commented Sep 5, 2023

image

The slow "acquire clean buffer" is blocked at "wait notification", which is notified when a new clean buffer is released.

@MrCroxx
Copy link
Collaborator Author

MrCroxx commented Sep 6, 2023

For rotate tail latency, which is caused by clean buffer acquiring, the root cause is wirte buffer is exhausted and waiting for flushing.

But for allocate tail latency, which is caused by multiple rotating, needs to be optimizated by introducing ordered queue to prevent from starving.

@MrCroxx
Copy link
Collaborator Author

MrCroxx commented Dec 15, 2023

close via #184 then #230

@MrCroxx MrCroxx closed this as completed Dec 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
Status: No status
Development

No branches or pull requests

1 participant