-
Notifications
You must be signed in to change notification settings - Fork 195
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
docker_client: don't pull image and create container per tc command #251
docker_client: don't pull image and create container per tc command #251
Conversation
Codecov ReportPatch coverage:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #251 +/- ##
==========================================
+ Coverage 40.11% 40.22% +0.11%
==========================================
Files 37 37
Lines 1249 1218 -31
==========================================
- Hits 501 490 -11
+ Misses 748 728 -20
☔ View full report in Codecov by Sentry. |
Hello @w-miller thank you for the PR. But I would like to understand: what problem are you trying to solve with this PR? Is there any performance or stability issue with the current flow? Why do you think reusing the same |
@alexei-led thanks for your response. Our pumba workflow involves using a separate container to run the tc commands (with Explanation of the specific change in this patch: before the patch, pumba was attempting to do the following for every
It's probably worth mentioning that if you don't specify any IP or port filters, only a single I've run a benchmark locally with and without this patch to calculate the time between starting pumba and the netem The full results are below, but the outcome was that the average time between pumba invocation and
This result mirrors the speedup of around 3x that we saw in our testing workflows that use pumba after applying this patch. Results without this PR
Results with this PR
|
8a6cac5
to
1d6d41c
Compare
Optimise the flow when using a separate container to run
tc
commands, by only pulling the container image once, creating a single container for the commands, andexec
ing each command in that container.