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

SheddingThreshold never decreases #17

Open
danielfireman opened this issue Jan 9, 2018 · 0 comments
Open

SheddingThreshold never decreases #17

danielfireman opened this issue Jan 9, 2018 · 0 comments

Comments

@danielfireman
Copy link
Contributor

Shedding threshold increases if more memory is consumed within a sampling window. This can be either due to an increase in request rate or an increase in the amount of memory consumed by requests.

If that is the case, it is ok that we don't GC very often and wait a bit more. That will lead to more pause time, as more memory will be consumed before a GC is triggered. That said, what happens if the trend changes and requests start consuming low memory?

Currently, what is going to happen is that a lot of requests would need to arrive before GC kicks in and the pause time will probably be the same as before (assuming the pause time is proportional to the amount of memory to be released). GCI-Go is based on the amount of memory used to process requests instead of the total amount of memory consumed and it this value is right-bounded to 512MB, so collecting every time the requests consume 512MB doesn't sound like a problem. Opening this issue so we keep this in mind.

Important to notice that the sampling window adjusts itself in both ways, depending on how much memory is consumed by a set of requests. Maybe we would like to keep consistency in the shedding threshold? One solution would be to decrease ST if it is sample time and ST hasn't been reached. This value would be left-bounded by the default ST, which is 50MB.

@joaoarthurbm @thiagomanel ideas? thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant