rootless-containers/slirp4netns

Big performance drop with new v1.1.12 version

dg424 opened this issue · 7 comments

dg424 commented

Performance has dropped by almost half with this version. Was there any perf tests done/is there a standard set of perf tests to verify that new versions are at least as good as previous one ?

Needs more info.

make benchmark MTU=65520 on CI doesn’t seem so slow

dg424 commented

Running this as part of a Docker rootless container with Rootlesskit using this as the storage driver. Docker pulls on 1.1.11 are twice as fast as those on 1.1.12. Maybe there is something added here affecting docker ?

Please provide

  • full benchmark script (and result)
  • docker version
  • docker info
  • slirp4netns --version
  • rootlesskit --version

as the storage driver

Do you mean network driver? port driver?
Could you also provide the command line flags of the rootlesskit process? (ps auxw | grep rootlesskit)

dg424 commented

/ # docker version
Client:
Version: 20.10.7
API version: 1.41
Go version: go1.13.15
Git commit: f0df350
Built: Wed Jun 2 11:51:04 2021
OS/Arch: linux/amd64
Context: default
Experimental: true

/ # slirp4netns -v
slirp4netns version 1.1.12
commit: 7a104a1
libslirp: 4.6.1
SLIRP_CONFIG_VERSION_MAX: 3
libseccomp: 2.3.3

/ # rootlesskit -v
rootlesskit version 0.14.2

/ # fuse-overlayfs -V
fuse-overlayfs: version 1.7
FUSE library version 3.4.1
using FUSE kernel interface version 7.27
Rootlesskit setup:

rootlesskit
--net="${DOCKERD_ROOTLESS_ROOTLESSKIT_NET:-slirp4netns}"
--mtu="${DOCKERD_ROOTLESS_ROOTLESSKIT_MTU:-1500}"
--disable-host-loopback
--port-driver=slirp4netns \

Dockerd:

set -- dockerd
--host="$dockerSocket"
--host=tcp://0.0.0.0:2375
--storage-driver="fuse-overlayfs" \

I just ran a test locally on my pc and perf seems to be the same. One thing I forgot to mention is that the actual test is being run on k8s node doing a simple docker pull and v1.1.12 takes twice as long. Note that I'm also using fuse-overlayfs sitting on top a k8s ephemeral dir. But setting aside all the k8s stuff, if I switch back to v1.1.11, my pull times are cut in half.

@giuseppe @Luap99 do you see performance drop for Podman?

I have not noticed any difference.