-
Bug
-
Resolution: Not A Defect
-
Major
-
Ubuntu 14.04
Oracle Java: 1.8.0_112
Jenkins: 2.46.2
Plugins:
active-directory:
version: '2.4'
ansicolor:
version: '0.5.0'
ant:
version: '1.4'
authentication-tokens:
version: '1.3'
bouncycastle-api:
version: '2.16.1'
branch-api:
version: '2.0.9'
build-monitor-plugin:
version: '1.11+build.201701152243'
build-pipeline-plugin:
version: '1.5.4'
conditional-buildstep:
version: '1.3.5'
copyartifact:
version: '1.38.1'
credentials-binding:
version: '1.11'
#credentials: version: '2.1.8' # conflicts with jenkins module
cucumber-testresult-plugin:
version: '0.9.7'
cvs:
version: '2.13'
display-url-api:
version: '2.0' # req'd by hipchat
docker-commons:
version: '1.6'
docker-workflow:
version: '1.11'
durable-task:
version: '1.13'
email-ext:
version: '2.57.2'
envinject:
version: '2.0'
extended-read-permission:
version: '2.0'
extensible-choice-parameter:
version: '1.4.0'
external-monitor-job:
version: '1.7'
cloudbees-folder:
version: '6.0.4'
git-client:
version: '2.4.5'
git:
version: '3.3.0'
git-server:
version: '1.7'
gitlab-plugin:
version: '1.4.5'
digest_string: '50387398a540c25eef3e2641fc7fe76434c02336'
gradle:
version: '1.26'
greenballs:
version: '1.15'
groovy:
version: '2.0'
digest_string: '99ebe3996a81b634f0be1f78592f94f87aa1187d'
hipchat:
version: '2.1.1'
icon-shim:
version: '2.0.3'
javadoc:
version: '1.4'
ace-editor:
version: '1.1'
handlebars:
version: '1.1.1'
jquery-detached:
version: '1.2.1'
momentjs:
version: '1.1.1'
job-dsl:
version: '1.61'
job-node-stalker:
version: '1.0.5'
jquery:
version: '1.11.2-0' #reqd by build pipeline
junit:
version: '1.20' # req'd by copyartifact
ldap:
version: '1.15'
mailer:
version: '1.20' # req'd by email-ext
mapdb-api:
version: '1.0.9.0'
matrix-auth:
version: '1.5'
matrix-project:
version: '1.10' # req'd by copyartifact, cucumber-testresult-plugin, email-ext
maven-plugin:
version: '2.15.1'
msbuild:
version: '1.27'
nested-view:
version: '1.14'
nuget:
version: '0.6'
antisamy-markup-formatter:
version: '1.5'
pam-auth:
version: '1.3'
parameterized-trigger:
version: '2.33' #reqd by build pipeline
performance:
version: '3.0'
permissive-script-security:
version: '0.1'
workflow-aggregator:
version: '2.5'
pipeline-graph-analysis:
version: '1.3'
workflow-api:
version: '2.13'
workflow-basic-steps:
version: '2.4'
pipeline-build-step:
version: '2.5'
pipeline-model-declarative-agent:
version: '1.1.1'
pipeline-model-extensions:
version: '1.1.4'
workflow-cps:
version: '2.30'
pipeline-input-step:
version: '2.7'
workflow-job:
version: '2.10'
pipeline-milestone-step:
version: '1.3.1'
pipeline-model-api:
version: '1.1.4'
pipeline-model-definition:
version: '1.1.4'
workflow-multibranch:
version: '2.14'
workflow-durable-task-step:
version: '2.11'
pipeline-rest-api:
version: '2.6'
workflow-scm-step:
version: '2.4'
workflow-cps-global-lib:
version: '2.8'
pipeline-stage-step:
version: '2.2'
pipeline-stage-tags-metadata:
version: '1.1.4'
pipeline-stage-view:
version: '2.6'
workflow-step-api:
version: '2.9' # req'd by gitlab-plugin, hipchat
workflow-support:
version: '2.14'
plain-credentials:
version: '1.4' # req'd by hipchat
run-condition:
version: '1.0'
scm-api:
version: '2.1.1' # req'd by branch-api
scoverage:
version: '1.3.2'
script-security:
version: '1.27' # reqd by email-ext
swarm:
version: '3.4'
ssh-credentials:
version: '1.13'
ssh-slaves:
version: '1.17'
analysis-core:
version: '1.86'
structs:
version: '1.7' # req'd by ant,branch-api,job-dsl
subversion:
version: '2.7.2'
token-macro:
version: '2.1' # reqd by email-ext
translation:
version: '1.15'
warnings:
version: '4.62' # 'warnings' requires 'analysis-core'
windows-slaves:
version: '1.3.1'
xvfb:
version: '1.1.3'Ubuntu 14.04 Oracle Java: 1.8.0_112 Jenkins: 2.46.2 Plugins: active-directory: version: '2.4' ansicolor: version: '0.5.0' ant: version: '1.4' authentication-tokens: version: '1.3' bouncycastle-api: version: '2.16.1' branch-api: version: '2.0.9' build-monitor-plugin: version: '1.11+build.201701152243' build-pipeline-plugin: version: '1.5.4' conditional-buildstep: version: '1.3.5' copyartifact: version: '1.38.1' credentials-binding: version: '1.11' #credentials: version: '2.1.8' # conflicts with jenkins module cucumber-testresult-plugin: version: '0.9.7' cvs: version: '2.13' display-url-api: version: '2.0' # req'd by hipchat docker-commons: version: '1.6' docker-workflow: version: '1.11' durable-task: version: '1.13' email-ext: version: '2.57.2' envinject: version: '2.0' extended-read-permission: version: '2.0' extensible-choice-parameter: version: '1.4.0' external-monitor-job: version: '1.7' cloudbees-folder: version: '6.0.4' git-client: version: '2.4.5' git: version: '3.3.0' git-server: version: '1.7' gitlab-plugin: version: '1.4.5' digest_string: '50387398a540c25eef3e2641fc7fe76434c02336' gradle: version: '1.26' greenballs: version: '1.15' groovy: version: '2.0' digest_string: '99ebe3996a81b634f0be1f78592f94f87aa1187d' hipchat: version: '2.1.1' icon-shim: version: '2.0.3' javadoc: version: '1.4' ace-editor: version: '1.1' handlebars: version: '1.1.1' jquery-detached: version: '1.2.1' momentjs: version: '1.1.1' job-dsl: version: '1.61' job-node-stalker: version: '1.0.5' jquery: version: '1.11.2-0' #reqd by build pipeline junit: version: '1.20' # req'd by copyartifact ldap: version: '1.15' mailer: version: '1.20' # req'd by email-ext mapdb-api: version: '1.0.9.0' matrix-auth: version: '1.5' matrix-project: version: '1.10' # req'd by copyartifact, cucumber-testresult-plugin, email-ext maven-plugin: version: '2.15.1' msbuild: version: '1.27' nested-view: version: '1.14' nuget: version: '0.6' antisamy-markup-formatter: version: '1.5' pam-auth: version: '1.3' parameterized-trigger: version: '2.33' #reqd by build pipeline performance: version: '3.0' permissive-script-security: version: '0.1' workflow-aggregator: version: '2.5' pipeline-graph-analysis: version: '1.3' workflow-api: version: '2.13' workflow-basic-steps: version: '2.4' pipeline-build-step: version: '2.5' pipeline-model-declarative-agent: version: '1.1.1' pipeline-model-extensions: version: '1.1.4' workflow-cps: version: '2.30' pipeline-input-step: version: '2.7' workflow-job: version: '2.10' pipeline-milestone-step: version: '1.3.1' pipeline-model-api: version: '1.1.4' pipeline-model-definition: version: '1.1.4' workflow-multibranch: version: '2.14' workflow-durable-task-step: version: '2.11' pipeline-rest-api: version: '2.6' workflow-scm-step: version: '2.4' workflow-cps-global-lib: version: '2.8' pipeline-stage-step: version: '2.2' pipeline-stage-tags-metadata: version: '1.1.4' pipeline-stage-view: version: '2.6' workflow-step-api: version: '2.9' # req'd by gitlab-plugin, hipchat workflow-support: version: '2.14' plain-credentials: version: '1.4' # req'd by hipchat run-condition: version: '1.0' scm-api: version: '2.1.1' # req'd by branch-api scoverage: version: '1.3.2' script-security: version: '1.27' # reqd by email-ext swarm: version: '3.4' ssh-credentials: version: '1.13' ssh-slaves: version: '1.17' analysis-core: version: '1.86' structs: version: '1.7' # req'd by ant,branch-api,job-dsl subversion: version: '2.7.2' token-macro: version: '2.1' # reqd by email-ext translation: version: '1.15' warnings: version: '4.62' # 'warnings' requires 'analysis-core' windows-slaves: version: '1.3.1' xvfb: version: '1.1.3'
Main observation is very poor UI performance when logged into the system. Interestingly, when logged in and browsing anonymously, the system responds immediately through the UI – so it appears to be an issue with logged in users.
Other observations:
- Using VisualVM, there appears to be a method run that uses a significant amount of CPU time with every UI interaction: jenkins.model.lazy.AbstractLazyLoadRunMap.search(). Unauthenticated users do not impact this method repeatedly.
- Load average and overall system resources seem okay
Things we've tried with (apparently) no effect:
- Updating Jenkins to 2.60.1-1 (currently at 2.46.2)
- Switching to alternate authentication mechanisms: LDAP, local UNIX user, etc. (currently Active Directory)
- Remove user authorization by changing authorization to 'Logged-in users can do anything' (currently 'Matrix-based security')
- Enabling tcp_tw_recycle and tcp_tw_reuse kernel params (to address large number of processes in TIME_WAIT state)
- Updating garbage collection flags for the JVM:
- JAVA_GC_LOGGING="
Xloggc:/var/lib/jenkins/gc%t.log -XX:NumberOfGCLogFiles=5 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=20m -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy"
- JAVA_GC_LOGGING="
-
- JAVA_GC_TUNING="-XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -XX:MetaspaceSize=1g -XX:+AlwaysPreTouch"