我們已經建立在詹金斯的頂部的儀表盤,使用戶能夠看到相關的項目只工作,也觸發構建。 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個版本的工作來說,這只是一個問題。 –