-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Docs site and binary install from yarn can be very slow from Korea #1188
Comments
Both the docs + the binary are hosted on s3 and then served to Cloudflare edge locations. They should have data centers right near you https://www.cloudflare.com/network/ Although they did have some incidents lately. Caching is hard :-/ |
It seems to happen a lot.. I'm only installing and reading the docs seasonally, so I don't know how consistent the problem is, but it's been slow for at least 2 days now. I'm not sure if there's anything to really do about it, but the struggle is real. |
Also very slow from Australia |
Ideally the downloaded binaries would be cached on the local filesystem as per #1233 |
I asked for CI how to avoid downloading again and again the binaries and @bahmutov told me to put the Anyway, my point here is that @mtibben is right, if we can cache node_modules on CI, we don't want to have to save it manually locally. Having some cache on local filesystem would be 🎉 🎉 🎉 😄 |
I am not sure I understand the problem then. Every CI provides a way to cache node_modules folder - otherwise you would need to install dependencies every time the build runs which is slow. Cypress unzips itself in node_modules folder. If CI caches that folder as it should it will only have to download Cypress once. Am I missing something here?
…Sent from my iPhone
On Jan 30, 2018, at 17:55, Maxime ***@***.***> wrote:
I asked for CI how to avoid downloading again and again the binaries and @bahmutov told me to put the node_modules folder in cache, which is not really 100% OK in my opinion (but I ended up with something similar, caching the yarn cache folder).
Anyway, my point here is that @mtibben is right, if we can cache node_modules on CI, we don't want to have to save it manually locally. Having some cache on local filesystem would be 🎉 🎉 🎉
😄
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
The npm local cache directory is normally
So this gets painful with cypress even locally when you have multiple projects using it, flaky npm, and slow download speeds. I'm guessing you're using the free tier of Cloudflare? I've seen some pretty poor performance on the free tier from some countries (particularly Australia 😢 ) If cypress can cache the binary via |
@bahmutov CI is not the main problem here but as @mtibben said
And often, on our dev machine we end up removing the whole Does that make sense? EDIT: I just made a test on a large angular-cli project. With Cypress dependency in the project:
yarn install --frozen-lockfile 31.23s user 8.21s system 75% cpu 52.559 total Without Cypress dependency in the project:
yarn install --frozen-lockfile 13.95s user 2.36s system 133% cpu 12.184 total And honestly this morning internet is unsually faster than usual. Otherwise it can take up to 3mn. If Cypress was cached on my machine it would have been closer to the ~12s instead of ~52s or more 😺 |
I see, thank you for clarifying this. We rarely experience We have support for installing binary from a given location: https://docs.cypress.io/guides/getting-started/installing-cypress.html#Environment-Variables which you can cache anywhere. That should make install work faster. For example if you cache folder
Same works if you set the This still assumes manual step of downloading |
It wouldn't be that easy in fact. Because we'd have to download multiple versions of Cypress and when installing we'd need to copy the good one from the cache. Can't promise anything I have a lot to do these days but I'll try to find some time and dig into the code to see if I can come up with a PR. |
@bahmutov I did try something :) But now, how am I supposed to try what I've done? I asked on Gitter but I do not have any solid lead right now: Any help on that would be really appreciated thanks 😄 |
This closes cypress-io#1188
This closes cypress-io#1188
Thanks to @jennifer-shehane I've understood how to get started with all of that and I'm giving a try =) |
This closes cypress-io#1188
S3 alone would magnitudes faster than cloudflare |
What should be done here is a proper caching so you don't have to download cypress anymore except for update. Take a look to this PR #1254 and brian-mann proposal :) EDIT: my bad you've already commented there |
I will work on this in #1300 |
|
Fixed in #1300, released in 3.0 |
This isn't fixed. The download and docs are still abysmally slow. Yes, I can cache the app.. great. Every time there's a new release I still have to take an afternoon to download it. |
seems to be fixed.. maybe cloudflare fixed it? |
Current behavior:
Sometimes cypress can take up to 30 minutes to download
How to reproduce:
Use a blazing fast internet connection in Korea
Additional Info (images, stack traces, etc)
Docs site after a few minutes (still no fonts)
Download
The cypress docs site takes minutes to load docs sometimes. This isn't 100% consistent, but it seems to be becoming a more frequent issue. While I can generally use some of the docs during the loading, if I have to re-
yarn
sometimes it stops me in my tracks as a download can take 30 minutes and fail to unzip. I can't say that this is always the case, but it is frequent and it is, as far as I can tell, unique to the cypress.io server, as I can't think of another site I experience this with. I've also had this experience at home as well as various coffee shop wifi.The text was updated successfully, but these errors were encountered: