2017-12-15 12 views
0

현재 Jenkins 구성 페이지를 열려고하면 45 초가 걸리고 은 작업보기를 요청하거나 콘솔 출력을 보는 것과 같은 다른 페이지에 소요됩니다 3 초 미만. 스레드 덤프를 바탕으로 우리가 설명으로 Jenkins 작업 구성 페이지로드 중입니다.

가 함께 CPU '스파이크'있어 결과를 분석 "당신의 응용 프로그램이 높은 CPU 앓고 될 수 있습니다." 불행하게도 우리는 아마이 높은 CPU의 원인을 파악하고 할 수없는

: "DestroyJavaVM는 1 개 스레드가 무한 루프입니다 :"스레드 보고서를 보면 우리가 차단 된 상태지만 용의자의 상태를 볼 수 없습니다 관련된 무한 루프.

젠킨스를 다시 시작하여 성능을 향상시키기위한 몇 가지 조치를 이미 취 했으므로 55 ​​초에서 45 초로 10 초 단축됩니다. JVM 최소/최대 메모리 매개 변수를 동일한 것으로 다시 정의하고 과대 광고를 4GB로 늘리면 아무런 영향을 미치지 않습니다. 같은 Jenkins 버전, 설치된 플러그인 및 작업 구성이 동일한 깨끗한 테스트 Jenkins 인스턴스를 동일한 하드웨어 사양으로 만듭니다. 새 테스트 젠킨스 인스턴스의 작업 구성 페이지로드가 3 초 미만입니다. 이 테스트를 기반으로 설치된 플러그인을 주요 문제로 제외 할 수 있는지 확실하지 않습니다.

다른 모든 제안 사항은 문제를 추적 할 수 있습니다.

ThreadDump Analyse Report

우리가 사용하고 있습니다 : - 윈도우 서버 2008 R2 엔터프라이즈 SP1 - 젠킨스 (마스터) : 버전 2.89.1 - 자바 : JRE 1.8.0_112 - 클라이언트 웹 브라우저 구글 크롬 Versie 61.0.3163.100 (Officiële 구축) (64 비트) 설치된 플러그인 : 개미 플러그인 - 1.7 아파치 HttpComponents 클라이언트 4.x의의 API 플러그인 - 4.5.3-2.0 Artifactory 플러그인 - 2.13.1 인증 토큰 API (Plu)을 진 - 1.3 Autofavorite 블루 오션을위한 - 1.2.1 의 Bitbucket 지점 소스 플러그인 - 2.2.7 블루 오션에 대한의 Bitbucket 파이프 라인 - 1.3.4 블루 오션 - 1.3.4 블루 오션 파이프 라인 편집기 - 1.3.4 bouncycastle API 플러그인 - 2.16.2 분기 API 플러그인 - 2.0.15 build-name-setter - 1.6.7 Blue Ocean 용 일반 API - 1.3.4 조건부 BuildStep - 1.3.6 Blue Ocean 용 구성 API - 1.3.4 구성 파일 공급자 플러그인 - 2.16.4 아티팩트 플러그인 복사 - 1.39 자격 증명 바인딩 플러그인 - 1.13 자격증 명 플러그인 - 2.1.16.1 CVS 플러그인을 - -사용자 정의 레이블 이제 빌드 2.13 대시 보드 블루 오션을위한 - 1.3.4 대시 보드보기 - 2.9.11 폐기 오래된 플러그인 빌드 - 1.05 디스크 사용 플러그인 - 0.28 디스플레이 업스트림 변경 - 0.3 .2 표시 URL API - 2.2.0 Blue Ocean에 대한 표시 URL - 2.2.0 Docker Commons Plugin - 1.9 Docker Pipeline - 1.14 내구성 작업 플러그인 - 1.17 EnvInject의 API 플러그인 - 1.4 환경 인젝터 플러그인 - 1.3.4 외부 모니터 작업 종류 플러그인 - - 1.7 즐겨 찾기 - 2.3.1 폴더 플러그인 - 6.2 블루 오션에 대한 2.1.5 이벤트 API 0.1 망할 놈의 클라이언트 플러그인 - 1.3.4 힘내 플러그인 - - 3.6.4 GIT 서버 플러그인 - 1.7 GitHub의의 API 플러그인 - 1.90 GitHub의 지점 소스 플러그인 - 2.3.1 GitHub의 블루 오션을위한 2.6.0 망할 놈의 파이프 라인 Blue Ocean 용 파이프 라인 - 1.3.4 GitHub 플러그인 - 1.28.1 Gradle Plugin - 1.28 HTML 출판사 플러그인 - 1.3.4 아이콘 심 플러그인 - - 2.0.3 아이비 플러그인 - 1.28 잭슨이 API 플러그인 - 2.8.7.0 자바 독 플러그인 - 1.4 자바 스크립트 GUI 해방 블루 오션에 대한 1.14 국제화 : ACE 편집기 번들 플러그인 - 1.1 자바 스크립트 GUI 리브 : 핸들 바 번들 플러그인 - 1.1.1 자바 스크립트 GUI 리브 : jQuery 번들 (jQuery 및 jQuery UI) 플러그인 - 1.2.1 자바 스크립트 GUI 라이브러리 : Moment.js 번들 플러그인 - 1.1.1 JIRA 통합 Blue Ocean 용 - 1.3.4 JIRA plugin - 2.5 작업 구성 내역 플러그인 - 2.18 jQuery 플러그인 - 1.12.4-0 JSch 종속성 pl ugin - 0.1.54.1 의 JUnit 플러그인 - 1.23 JWT 블루 오션 - 1.3.4 LDAP 플러그인 - 1.18 로케일 플러그인 - 1.2 메일러 플러그인 - 1.20 관리 스크립트 - 1.4 MapDB의 API 플러그인 - 1.0.9.0 매트릭스 인증 전략 플러그인 - 2.2 매트릭스 프로젝트 플러그인 - 1.12 메이븐 통합 플러그인 - 3.0 의욕 플러그인 - 2.2 메트릭 디스크 사용 플러그인 - 3.0.0 통계 플러그인 - 3.1.2.10 모니터링 - 1.70.0 MSBuild를 플러그인 - 1.28 MSTEST 플러그인 - 0.23 NAnt Plugin - 1.4. 3 OWASP 종속성-확인 플러그인 - 3.0.2 OWASP 마크 업 포맷터 플러그인 - 1.5 PAM 인증 플러그인 - 1.3 매개 변수화 된 트리거 플러그인 - 2.35.2 개인 블루 오션을위한 - 1.3.4 파이프 라인 - 2.5 파이프 라인 그래프 분석 플러그인 - 1.3.4 파이프 라인 유틸리티 단계 - - 1.5.1 파이프 라인 블루 오션에 대한 1.3.4 파이프 라인 SCM의 API - 블루 오션 1.5 파이프 라인 구현 : API - 2.24 파이프 라인 : 기본 단계 - 2.6 파이프 라인 단계 : 빌드 - 2.5.1 파이프 라인 : 선언적 - 1.2.5 파이프 라인 : 선언적 에이전트 API - 1.1.1 01 23,516,파이프 라인 : 선언적 확장 포인트 API - 1.2.5 파이프 라인 : 그루비 - 2.42 파이프 라인 : 입력 단계 - 2.8 파이프 라인 : 작업 - 2.15 파이프 라인 : 마일스톤 단계 - 1.3.1 파이프 라인 : 모델 API - 1.2.5 파이프 라인 : Multibranch - 2.16 파이프 라인 : 노드 및 프로세스 - 2.17 파이프 라인 : REST API 플러그인 - 2.9 파이프 라인 : SCM 단계 - 2.6 파이프 라인 : 공유 그루비 도서관 - 2.9 파이프 라인 : 단계 단계 - 2.3 파이프 라인 : 무대 태그 메타 데이터 - 1.2 .5 파이프 라인 : Stage View Plugin - 2.9 파이프 라인 : 단계 API - 2.14 파이프 라인 : - 플러그인 2.16 일반 자격 증명 - 지원하는 API 1.4 플러그인 사용 - 플러그인 - 0.3 PostBuildScript 플러그인 - 2.2.1 PowerShell을 플러그인 - 승진 1.3 는 플러그인 빌드 - 2.31 펍 서브 "빛"버스 - 1.12 품질 게이츠 플러그인 - 2.5 Rebuilder - 1.27 자원 디스 포저 플러그인 - 블루 오션 0.8 REST API - 블루 오션에 대한 1.3.4 REST 구현 - 1.3.4 역할 기반 권한 부여 전략 - 2.6.1 실행 상태 플러그인 - 1.0 SCM API 플러그인 - 2.2.5 스크립트 보안 플러그인 - 1.36 서버 전송 이벤트 (SSE) 게이트웨이 플러그인 - 1.15 간단한 테마 플러그인 - 젠킨스 0.3 SonarQube 스캐너 - 1.13 정적 분석 유틸리티 - - 1.93 구조체 플러그인 - 플러그인 2.6.1 SSH 자격 증명 1.10 서브 버전 플러그인 - 2.9 팀 파운데이션 서버 플러그인 - 5.126.0 스로틀 동시는 빌드 플러그인 - 2.0.1 Timestamper - 1.8.8 토큰 매크로 플러그인 - 2.3 변형 플러그인 - 블루 오션 1.1 웹 - 1.3.4 Windows 슬레이브 플러그인 - 1.3.1 작업 공간 정리 플러그인 - 0.34

,
+0

VM에서 실행중인 단일 jenkins 인스턴스입니까?얼마나 많은 젠킨스가 있습니까? VM (예 : 메모리, CPU 등)의 하드웨어 사양은 무엇입니까? – grizzthedj

답변

0

먼저, 다음과 같은 질문의 답을 스스로 :

  • 이 같은 젠킨스 서버에서 실행되는 다른 CPU 집약적 인 프로세스가 있습니까?

  • CPU로드가 높을 수도 있습니다. IO가 높을수록 디스크 입출력은 어떻게됩니까?

  • 상자의 RAM 및 페이징이 낮을 때 JVM을 사용하면 CPU로드가 높아져 응용 프로그램 성능이 저하 될 수 있습니다.

그래서 당신의 문제 해결 단계는 다음과 같아야합니다

  • 당신의 CPU 지원 멀티 스레딩을합니까? 단일 스레드이고 두 개 이상의 스레드를 시작하는 경우 이것이 결과 일 수 있습니다.

  • 각 프로세스의 평균 CPU 사용률 찾기, CPU 사이클을 먹고 아무것도 (즉해서는 안됩니다.)

  • 전체 RAM의 사용이다.

  • 디스크 IO 성능 메트릭 - 예상치 못한 IO에서 성능이 저하되는 것을보고 있습니까?

  • 젠킨스가 시작한 하위 프로세스 식별 - 각 프로세스의 평균 리소스 사용률을 찾습니다. 이러한 과부하로 인해 리소스 (CPU, RAM, 디스크 IO)가 있습니까?

찾을 수있는 내용에 따라 상자와 프로세스를 적절하게 조정해야합니다. 이는 리소스를 추가하는 것을 의미 할 수 있습니다.