-
Notifications
You must be signed in to change notification settings - Fork 51
Che 7 startup should be faster on che.openshift.io #1011
Comments
@ibuziuk @garagatyi @gorkem @amisevsk copying here a comment from #1012 (comment) about what I think should be the next things to look at. We could use this epic to discuss new ideas to improve Che 7 startup on OSIO:
Point 1. is specific to OSIO, 2. is not. It's an upstream improvement and would dramatically improve Che UX. Another thing that we may still look at is reducing images size. This can be achieved using distroless images (or |
@l0rd loading IDE first can improve the experience indeed, but we should implement it in a natural way that is somehow described by a toolings configs. Otherwise, we would have a lot of hardcodings that don't respect other editor implementations. Here are other ideas on how we can improve WS start time.
The simplest implementation of a sync sidecar can be:
|
@garagatyi about init container and broker. |
For the time being, we do re-run brokering each restart of a workspace. We can implement this approach to speed up the start but there are things that we need to consider before start coding that. Since archive can change without change a URL we should do something with that. Checking checksum (or even archive size) is probably not the best approach because it would require to download the whole archive to evaluate it. |
@garagatyi I think we agree that starting the editor as the first container (even before brokers) is the important goal and we agree on that. And your idea to have the I am still convinced that adding a "fast startup" phase where wsmaster starts the workspace pod with only the editor container (no plugins, no brokers, no sidecars) makes things really simple. Kubernetes rolling update allows a seamless transition from the first workspace pod (with a bare theia) to the second pod (with theia, theia plugins and sidecars). |
@l0rd Starting editor first would probably involve major refactoring of the code and flow because it would make workspace start 3 phase flow rather than 2 phase.
Even though from a k8s standpoint updating deployment is simple we don't have this flow in Che workspace start flow and we would need some time to implement this flow. I don't think it is a trivial task. |
@garagatyi but you don't need to change the current 2 phases right? You just need to add a new one. The existing phases should remain untouched. |
@l0rd If we want to rollout workspace properly we would need to change the code. To change Theia container config we either need to roll it out or delete deployment, wait it gets deleted, create the new one. |
|
@l0rd unfortunately for that we need to edit deployment and we don't have this idea in Che master code. So, we would still have to rework some code to allow this editing capability. We may try to save just IDs and integrate them into a new deployment config which would be similar to editing deployment. But in this case, our autogenerated k8s service names and OS routes would change their names probably, which might not be tolerated by a client side. In any case, we will have to figure out how we can deal with it without rewriting a lot of code. |
@garagatyi I guess that re-using the same name for the deployment and theia routes will do the trick. |
Closing in favor of the upstream epic - eclipse-che/che#11476 average workspace startup: 34 seconds / 98.4 % of workspaces started faster than 60 seconds |
Info about Che 7 workspace startup (ephemeral, but without eclipse-che/che#11786 so normal PVC is still used for broker):
Areas for improvement:
storage
Need to improve time required for initialgit clone
after startup of Che 7 workspace on osio Need to improve time required for initialgit clone
after startup of Che 7 workspace on osio #1012network
image pulling
pull can be fast / extraction could be slower). Setup local docker registry in the usernames similar to che-plugin-registry and compare performance with quai / dockerhub (Need to compare pod starup not only pulling time) - 8 Need to compare Che 7 workspace startup time when using images from docker registry deployed in the user namespace in comparison with dockerhub / quay #1014loading sequence
Noteworthy comment from @amisevsk:
The text was updated successfully, but these errors were encountered: