-
Notifications
You must be signed in to change notification settings - Fork 0
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
Use estargz compression and add more tags #2
base: main
Are you sure you want to change the base?
Conversation
Ran some very crude speed tests comparing gzip and zstd:
Summary: proxied requests are slightly slower. There seems to be little difference between zstd compression and default compression. The latter is perhaps due to that a large part of this image the upstream Uncompressed:
zstd:
|
After fixing the image compression (previously the compression didn't take effect). I reran the experiments with (uncompressed no proxy, uncompressed with prewarmed proxy, zstd no proxy, zstd with prewarmed proxy):
Pulling the zstd image directly from the internet is the fastest. It appears that the uncompressed image is slower to pull because of the extraction step. When using the proxy, a lot of the time the docker client is stuck on waiting to download. The wait time is a bit shorter when running the proxy on rootful docker than on rootless docker. The timing above is from rootful docker. |
Testing using tmpfs (uncompressed from internet, uncompressed from proxy, zstd from internet, zstd from proxy). Note a custom docker daemon.json is required to use with {"storage-driver": "fuse-overlayfs"} docker-tmpfs-storage-driver.pdf
The runs with proxy appear to hang for about 5-10 seconds in the beginning and "Waiting" once in a while. Otherwise downloading is very fast. In this test, zstd from the internet is still the fastest, followed by zstd from proxy. If we can figure out why the proxy is hanging once in a while, then we can probably achieve the same speed as/faster than pulling from the internet at a higher bandwidth (concurrent clients). |
This is to see if we can run the image faster using https://github.com/containerd/stargz-snapshotter