-
Notifications
You must be signed in to change notification settings - Fork 110
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
[JENKINS-27650] Performance #27
Conversation
… log message which is never printed.
…to make it clear this is just a helper method.
Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests |
Here I have tried to do extensive caching within top-level calls to The root problem is that this plugin just does a lot of work for every call when there are many matching projects. |
Even though |
BTW while testing I was using a temporary patch diff --git a/pom.xml b/pom.xml
index 84f54aa..04f6576 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@ THE SOFTWARE.
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
- <version>1.424</version>
+ <version>1.580.2</version>
</parent>
<artifactId>throttle-concurrents</artifactId>
@@ -113,6 +113,11 @@ THE SOFTWARE.
<version>2.0.1</version>
<type>jar</type>
</dependency>
+ <dependency>
+ <groupId>org.jenkins-ci.plugins</groupId>
+ <artifactId>matrix-project</artifactId>
+ <version>1.4</version>
+ </dependency>
</dependencies>
</project> since the very old core this plugin currently uses as a baseline behaves quite differently, making it impossible to get a realistic sense of the impact of performance changes. I would recommend pushing up the baseline. |
👍 To the last comment I just upgraded to the latest core and hit all this problems. |
👍 for updating the baseline to 1.554 (?) when we resolve the issue with the scheduling correctness (see the analysis in JENKINS-27708) The current version decreased the average GC frequency and CPU usage by canTake() but the performance stills about 10 times worse compared to the test w/o TCB plugin. The performance degradation ratio strongly depends on the queue size BTW. My proposals (based on 1.580 LTS API):
@jglick, what do you think? |
Did you see my idea about |
@jglick
|
What is the status on this? How can I best help fix the performance problem? Should I build on this pull request or on #28? |
@wolfs I think the best way would be to start integrating a new Extension point into Jenkins core. I was going to start working on it on July in order to get changes integrated by the next LTS line. BTW I have not even started yet, so you can take it. |
What exactly should the extension point provide? Would the Queue give all the calculation information to the new extension point? Even without changes to Jenkins core - should I continue working on #28 in order to have a solution now? I am really having problems on my instance (1000 Jobs, 100 Executors) and I have currently no alternative to this plugin. |
Not an extension point per se, but I suggested earlier that Not sure if the locking work @stephenc did recently has any bearing on this. |
@jglick The last update to this PR was over 4 years ago. Can this PR be closed to clean up the open pull requests list? |
Sure, I do not recall much about it now. |
JENKINS-27650
Builds on #26.
The current changes do not help much. I tried caching some information from call to call but the performance is still rather poor. The result also seems to often be incorrect; my analysis in #26 is that this is a manifestation of JENKINS-27708.