我们在 Jenkins 之上构建了一个仪表板,使用户能够仅查看与项目相关的作业并触发构建。UI 是使用 reactJS 构建的,后端是 JAVA REST WebServices。
WebService 调用 Jenkins api 来获取 Job 信息并将数据转换为 JSON 以提供给 UI。目前,我们在仪表板上有大约 200 个工作。Jenkins API 需要大约 2 分钟来响应详细信息。
Jenkins 在 Linux 机器上运行
OracleLinux 6 x Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz / 39.25 GB
Jenkins 版本 - 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 响应速度的任何建议。
我考虑增加 linux 机器上的 RAM 并调整 JVM OPTS。还将 Jenkins 升级到最新的 LTS。