Skip to content
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

startup speed option #241

Open
shurikg opened this issue Jan 2, 2020 · 8 comments
Open

startup speed option #241

shurikg opened this issue Jan 2, 2020 · 8 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@shurikg
Copy link

shurikg commented Jan 2, 2020

I run the below command and it's take ~11 sec till I see the output from the pipeline.

How can I reduce the start time of jenkinfile-runner ?

/users/kube/jenkins-runner -w /users/kube/jenkins -p /users/kube/jenkins_home/plugins -f myJenkinsfile
@oleg-nenashev
Copy link
Member

It is hard to say anything without startup logs and a list of plugin/core versions

@shurikg
Copy link
Author

shurikg commented Jan 3, 2020

where can I find the startup log?

@oleg-nenashev oleg-nenashev added the question Further information is requested label Apr 3, 2020
@oleg-nenashev
Copy link
Member

oleg-nenashev commented May 9, 2020

Sorry, missed the question.
Apparently I also hit the slow startup issue on Windows when using a Vanilla package. With prepared classpath a significant part of the startup time comes from loading extensions. It is not exactly a new discovery, caching the extension list was on the table for JFR for a while.

image

@oleg-nenashev oleg-nenashev added bug Something isn't working and removed question Further information is requested labels May 9, 2020
@oleg-nenashev oleg-nenashev self-assigned this May 9, 2020
@oleg-nenashev
Copy link
Member

Curiously, https://github.com/jenkinsci/branch-api-plugin/blob/170e7717413ebaec6e7144fb35344b609fcebe1a/src/main/java/jenkins/branch/CustomOrganizationFolderDescriptor.java#L131-L139 is a major contributor. Likely it happens due to the execution before all extensions are cached.

I could add a High-performance version of ExtensionFinder with caching, but it might be easier to just replace the entire plugin strategy implementation and event the PluginManager.

@oleg-nenashev
Copy link
Member

I might have a patch submitted in a few days. After extension point optimization I was able to bring down the startup time from 4sec average to around 800ms in the Vanilla image.

@shurikg
Copy link
Author

shurikg commented Jul 24, 2020

thanks for the info, I will try to use the new version.

@bennymestel
Copy link

Hey @oleg-nenashev was this issue released ? was the run time able to be reduced?

@oleg-nenashev
Copy link
Member

@bennymestel Right now it is rather an EPIc, not a single change to deliver. I am gradually improving the performance in Jenkinsfile Runner. There is a lot of other things to do, but the recent versions should be considerably better. If you see any particular issues, please report them separately so that we could tackle them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants