-
Notifications
You must be signed in to change notification settings - Fork 12
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
Q: Performance expectations with storing go-cache in remote registry? #161
Comments
I've been repeatedly building the same go app using the
|
Unfortunately, this is all out of our control. The cache and its storage in a remote registry is a CNB platform/lifecycle concern. The buildpack can only optimize those steps that occur during the |
I have been chatting with @ekcasey and she mentioned a few things:
|
Is there any possibility that the cache is being changed by the buildpack even when nothing has changed in the app? The cache size is 290 MB for the app we are testing above. I wouldn't expect it to take 2-3 minutes to reupload (1) if something had changed and (2) especially when nothing has changed. |
Sorry for the pause in communication. As far as I understand it the only thing that the buildpack would be doing the would alter the cache is running the As for why the cache upload is taking so long again I think it is a bit out of our control. It might be interesting to try and do something like slicing the go cache into separate layers but I have no benchmarking to prove that would be any faster or slower. That does have some potential for investigation. |
@genevieve and @paketo-buildpacks/go-maintainers This issue hasn't seen activity in a while. It this still a problem? Did you find a workaround? |
What happened?
Using the new pack cli's
--publish
and--cache-image
flags to store an image in a remote registry and pull down the cache for reuse on rebuilds.I think I expected this to be fast albeit not as fast as local caches. Since our CI's local cache reuse is not always stable, we were interested in using the pack supported way with a remote registry for reuse in CI jobs for the same app code sha. I was really surprised by how much more time was added to the build just due to storing the gocache in the remote registry. Sharing the timestamped logs here in case there's anything you can think of to improve it.
About 2 minutes of a 3 minute rebuild was spent here:
While this is a small go app, I'm concerned about larger go apps that we have.
Build Configuration
pack
,kpack
,tekton
buildpacks plugin, etc.) are youusing? Please include a version.
pack v0.18.0
pack inspect-builder <builder>
?Default builder from paketo in pack
buildpack.yml
,nginx.conf
, etc.)?github.com/genevieve/leftovers
Checklist
The text was updated successfully, but these errors were encountered: