Add semaphore to limit RAM used by buffered outgoing requests #143

Merged
lx merged 1 commit from request-buffer-semaphore into main 2021-11-04 08:30:12 +00:00
Owner

Currently Garage OOM's very often, probably because lots of requests get buffered in netapp client connections. This patch tries to avoid this by limiting the nubmer of outgoing requests that are buffered with a semaphore.

Status: making this PR so that I can make a build. Then I will test and try to get experimental data.

Currently Garage OOM's very often, probably because lots of requests get buffered in netapp client connections. This patch tries to avoid this by limiting the nubmer of outgoing requests that are buffered with a semaphore. Status: making this PR so that I can make a build. Then I will test and try to get experimental data.
lx force-pushed request-buffer-semaphore from 2c5336ba13 to face98681a 2021-11-03 16:22:14 +00:00 Compare
lx force-pushed request-buffer-semaphore from face98681a to 8b871284ab 2021-11-03 16:39:34 +00:00 Compare
lx changed target branch from main to cleanups 2021-11-03 16:51:03 +00:00
Author
Owner

Observation: it seems to work wonderfully. Garage now stays constantly under 400MB of RAM used in a scenario where it caused an OOM before. No performance degradation: data is still injected at maximum rate and network is still saturated. We could probably set the semaphore size to 200MB, wouldn't be a big problem.

EDIT: semaphore size set to 200MB

Observation: it seems to work wonderfully. Garage now stays constantly under 400MB of RAM used in a scenario where it caused an OOM before. No performance degradation: data is still injected at maximum rate and network is still saturated. We could probably set the semaphore size to 200MB, wouldn't be a big problem. EDIT: semaphore size set to 200MB
lx changed target branch from cleanups to main 2021-11-03 17:02:21 +00:00
lx force-pushed request-buffer-semaphore from 8b871284ab to 6f13d083ab 2021-11-03 17:03:06 +00:00 Compare
lx changed title from WIP: Add semaphore to limit RAM used by buffered outgoing requests to Add semaphore to limit RAM used by buffered outgoing requests 2021-11-04 08:30:08 +00:00
lx merged commit 6f13d083ab into main 2021-11-04 08:30:12 +00:00
Sign in to join this conversation.
No description provided.