redhat-developer / rh-che

Eclipse Che hosted by Red Hat
https://che.openshift.io/
Eclipse Public License 2.0
40 stars 57 forks source link

Need to compare performance of the ephemeral workspace (No PVC) vs. regular workspace on OSO cluster #879

Closed ibuziuk closed 5 years ago

ibuziuk commented 6 years ago

Need to compare performance of:

In order to get data for emptyDir first need to implement the relevant strategy for it - https://github.com/redhat-developer/rh-che/issues/883

ibuziuk commented 6 years ago

The Initial results of using none strategy is that workspace startup is pretty much the same as for regular workspaces with PVC attached:

Funny enough that mvn / npm builds are faster in comparison with the same commands executing in the mounted folders e.g. projects for regular workspaces. Will provide more detailed results soon

Meet Google Drive – One place for all your files
Google Drive is a free way to keep your files backed up and easy to reach from any phone, tablet, or computer. Start with 15GB of Google storage – free.
Meet Google Drive – One place for all your files
Google Drive is a free way to keep your files backed up and easy to reach from any phone, tablet, or computer. Start with 15GB of Google storage – free.
ibuziuk commented 6 years ago

Tests results for running git clone / mvn install against emptyDir volume and container FS performance https://github.com/redhat-developer/rh-che/issues/883#issuecomment-420948441 In general, using emptyDir does not provide any performance benefits

ibuziuk commented 6 years ago

Regarding the test of the current workspace startup using angular2-quickstart factory [1] against che.openshift.io with fresh PVC (claim-che-workspace was created during the workspace startup so it was clean from the very beginning). Currently it takes ~70 seconds to start the workspace:

Video of workspace startup: https://drive.google.com/file/d/1bYHaPyYTJ4BaAwbue2mIUmEwow6DwEop/view?usp=sharing

This test was done against the newly created PVC and image already existed in the registry, so the workspace container started really fast in just 5 second. I believe workspace startup time would be pretty similar for ephemeral workspaces (of course if pulling image would also be that fast). However, other parts that required ~ 1 minutes would still be there, so it should be expected that the using the same factory with ephemeral workspace would result in pretty much the same time for startup - ~ 60 - 70 seconds. Here is the demo of starting ephemeral workspace which took ~ 90 seconds (image pulling took some time):

https://drive.google.com/file/d/1t06uC7EPNHy6vHKucuxAzLp3V230giqx/view?usp=sharing

[1] https://che.openshift.io/f?id=factory3db802wkfbg8wox5

ibuziuk commented 6 years ago

@l0rd @gorkem the initial research [1] [2] shows that ephemeral workspaces would not sufficiently improve workspace startup time but would definitely allow to avoid problems with slow PVC mount. In the general case ephemeral workspace startup would still take more than a minute. Current plan is to provide per-workspace implementation of ephemeral workspaces via mountSources property which would be enabled by default.

[1] https://github.com/redhat-developer/rh-che/issues/883#issuecomment-420948441 [2] https://github.com/redhat-developer/rh-che/issues/879#issuecomment-421124049

l0rd commented 6 years ago

Great job. Thank you @ibuziuk

gorkem commented 6 years ago

Thanks @ibuziuk If it is not too much trouble can you also compare a Che 7(Theia based) workspace ?

ibuziuk commented 6 years ago

@gorkem yeah sure, I would add info about che 7 performance once we update prod to 6.11.0 [1] & add dedicated factory for it [2]

[1] https://github.com/redhat-developer/rh-che/issues/881 [2] https://github.com/redhat-developer/rh-che/issues/868

garagatyi commented 6 years ago

Great analysis, @ibuziuk!

ibuziuk commented 6 years ago

Have recorded a demo video [1] of creating ephemeral workspace from factory on minishift. Workspace start up took ~ 45 seconds. Basically, in comparison with oso [2] initial initialization steps (loading che + loading factory + initializing workspace) took just 5 seconds (20 on oso) and final UI initialization / loading worksapce also took 5 seconds (25 on oso). We need to figure what is the main reason of such delays which is probably related to networking communications.

[1] https://youtu.be/bGA5scbuQeg [2] https://github.com/redhat-developer/rh-che/issues/879#issuecomment-421124049

YouTube
Eclipse Che ephemeral workspace startup on minishift
gorkem commented 6 years ago

Are you comparing local minishift vs OSO hosted in US east coast? I think those are expected to give different results.

ibuziuk commented 6 years ago

@gorkem the last comment is related to the fact that on minishift UI initialization (loading che + loading factory + initializing workspace) & loading workspace happens much faster in comparison with oso where che-server and workspaces are located on different clusters

ibuziuk commented 5 years ago

Closing info about che 7 workspace startup has been provided as part of the https://github.com/redhat-developer/rh-che/issues/1014#issuecomment-437043526