-
Notifications
You must be signed in to change notification settings - Fork 773
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
Downloads going over cdn.dl.k8s.io are much slower than direct downloads from the bucket #5755
Comments
Update: it turns out that cache miss downloads are slow, and cache hit downloads are fast. This can be be determined from |
curl
going over cdn.dl.k8s.io are much slower than direct downloads from the bucket
It might be related, but the CDN is not just slow, it's inconsistent. 1.29-alpha.1 was released yesterday, but depending from where you perform a This will even change on the same computer if you just re-run the same curl command a few seconds later. Not sure if individual CDN servers "downgrade" their data or if I'm just hitting tons of random CDN nodes that all have an inconsistent state, but it's weird and sadly unreliable :/ These two request happened basically at the same time:
and
Both claim a cache hit, but return different results. |
This can lead to serious issues. It looks like you're getting served from FRA and MUC, and these nodes might indeed have different cache. I think we should ignore version markers from cache, these can get changed often, especially |
Yeah. We are not specific about file extensions for the cache configuration. I'll open a PR to fix it this week. Another option could be to directly serve those version makers through the nginx instance instance of the CDN provider. |
@xrstf can you open an new issue with what you described ? |
Can do, done => #5900. |
We increased the TTL for the different objects in #5871. Hopefully the situation should be better. The current CDN is a "pull-through" cache so a Note that our cache is currently over 99% now. I don't think we can do more that. |
IIRC a mid-level cache was mentioned talking to fastly previously? |
maybe you're talking about Origin Shield ? If that the case, the feature is mostly efficient with regional buckets which is not the case for |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
@xmudrii is the problem still happening ? |
@ameukam I'll check and get back to you |
@ameukam This is still the issue for non-cached artifacts downloaded over |
/remove-lifecycle stale |
Non-cached artifacts going through Fasly will always be slow for the first request on the POP close the requester. Fastly don't replicate all the objects over it's entire network. Objects are cached based on the requests. If the object is not present at Fastly Edge, it will always be slower than the origin. |
@ameukam Is there anything that we can do to make it at least a little faster? The difference is huge, it takes 5 seconds when downloading directly from the bucket, but about 1 minutes and 30 seconds when downloading from the CDN. Subsequent requests might be slow as well because there's a chance to get you redirected to some other edge location. |
One possibility could be Fastly Origin Shield but we need to switch to the origin to a regional bucket. |
Even cached requests are much slower for me. Something that takes 3-5 seconds when downloaded from the bucket directly takes 30-40 seconds when downloaded via CDN. I double-checked with @xrstf and he sees okay speeds on 2nd and 3rd try (the 1st try is also slow for him), but that's not the case for me. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
I think this has been mostly fixed, I didn't observe it for a while, closing the issue for now |
@xmudrii: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
I've observed that downloads using
curl
going overcdn.dl.k8s.io
(dl.k8s.io
) are much slower than direct downloads from the bucket (storage.googleapis.com/kubernetes-release
).For example, downloading kubelet v1.28.1 directly from the bucket yields the following results:
The download took 4 seconds in total. However, downloading via the CDN yields much different results:
It took one minute and five seconds to download the same file.
Update: it turns out that cache miss downloads are slow, and cache hit downloads are fast. This can be be determined from
x-cache: MISS
andx-cache: HIT
headers. Once the file is cached on Fastly side, downloads are fast, but prior to that, downloads are insanely slow./sig k8s-infra
/priority important-soon
/kind bug
cc @ameukam @BenTheElder
The text was updated successfully, but these errors were encountered: