我们已经建立在詹金斯的顶部的仪表盘,使用户能够看到相关的项目只工作,也触发构建。 UI是使用reactJS构建的,后端是JAVA REST WebServices。詹金斯API响应调整
WebService的调用詹金斯API来获取工作信息和数据,以JSON转换喂养的UI。目前我们在仪表板上有大约200个工作。 Jenkins API需要花费大约2分钟来回复细节。
詹金斯在Linux机器上
OracleLinux 6 x Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz/39.25 GB
詹金斯版本上运行 - 1.564与16个执行人和超过2000乔布斯
Sample API Call - http://jenkins:8080/job/jobName/api/json?tree=displayName,builds[result],lastBuild[estimatedDuration,result,duration,number,timestamp,actions[causes[userName]]]
API被称为200次,200个职位获取的细节每份工作。
就如何加快API响应任何意见。
我认为增加RAM在Linux中和调整JVM OPTS。同时将Jenkins升级到最新的LTS。
请问您的工作有许多建立?我知道詹金斯团队一直与建立的延迟加载,不知道哪个版本有这些改进虽然。例如。只要你加载工作,它会加载所有的版本。在较新的版本中,它加载了呈现渲染页面/查询所需的那些。而且,由于在较旧的版本中(使用延迟加载),树查询中的'build [result]'部分可能会更加危险,这将强制作业加载所有构建。原因是没有进行分页,例如,在以后的版本中,你必须指定要返回的版本的范围,默认值是20我认为。 –
我们保留了每项工作30个版本的历史。我只是担心升级Jenkins核心,因为所有的插件可能不兼容。我们正在使用几个插件来使事情发挥作用。 – Upen
好吧,这不是懒惰的加载,30个构建并不多。对于拥有超过1000个版本的工作来说,这只是一个问题。 –