We have constructed a dashboard over Jenkins which empowers clients to see just jobs relevant to the project to the task and furthermore trigger a manufacture. The UI is built utilizing reactJS and the backend is JAVA REST WebServices.
WebService calls the Jenkins programming interface to get Job data and changes over the information to JSON for feeding the UI. At present we have around 200 jobs on the Dashboard. Its taking around 2 mins for the Jenkins API to react with the details.
Jenkins is running on a Linux box
OracleLinux 6 x Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz / 39.25 GB
Jenkins Version - 1.564 with 16 Executors and more than 2000 Jobs
Sample API Call - http://jenkins:8080/job/jobName/api/json?tree=displayName,builds[result],lastBuild[estimatedDuration,result,duration,number,timestamp,actions[causes[userName]]]
The api is called 200 times for 200 Jobs to fetch details of each job.
Any advice on how to speed up the API response.
I considered increasing the RAM On the linux box and tuning the JVM OPTS. Also upgrading the Jenkins to latest LTS.