2016-08-25 4 views
0

SonarQube 5.3 서버가 실행 중이고 응답 시간이 매우 느리고 결과적으로 다양한 작업 스캐너에서 많은 소켓 시간 초과 오류가 발생합니다. 평균sonarqube 서버에서 매우 느린 응답 시간

에 < 0.1 초 : 그냥 SonarQube이 (요청하지 않음) 윈도우 7 상자에서 실행되고, 몇 가지 관점을 제공하기 위해, 그래서 젠킨스에서

응답 시간 (바람둥이의 별도의 인스턴스에서) 젠킨스입니다 SonarQube의 응답 시간 : 3-30 초, 평균 약 9-12 초 범위

SonarQube는 Windows 서비스로 설치되며 Jenkins가 실행중인 Tomcat도 설치됩니다.

SQ가에 대해 실행되는 데이터베이스 서버는 오라클, 그리고 정말 의심 오라클 서버와 대기 시간의 소스가 빠르고 지방의 양이다 그건 그 ... 바로 여기에는 JVM은 평방의 opts

sonar.web.javaOpts=-Xmx1536m -Xms256m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -server -Djava.net.preferIPv4Stack=true -Djruby.compile.invokedynamic=false -Dfile.encoding=UTF-8

내가 응답 시간을 향상시킬 수있는 방법을 알고하지 않는

내가 손해를보고 좀 해요 java 1.8_u45

에서 실행? (. 어쩌면 다른 하드웨어/OS에서 그것을 실행하여 외)

+0

그런데 SonarSource 팀원의 관심을 받았기 때문에 내 자신의 바람둥이에서 sq를 실행할 수 있다면 좋을 것입니다. 나는 이것이 응답 시간을 향상시키는 대안으로 거의 볼 수있다. 나는 sq를 실행하는이 방법이 더 이상 지원되지 않는다는 것을 알고 있지만 지원을 거부하는 것이 좋지 않은 결정이라고 생각합니다. – sloven

+0

웹 서버가 느리고 결과가 스캐너가 초기화되어 보고서를 보내는 것이 느리다고 올바르게 이해한다면? 이 경우 서버 문제를 조사하는 데 도움이되도록 TRACE 로그를 사용하여 SQL 및 Elasticsearch 요청의 실행 시간을 얻을 수 있습니다 (conf/sonar.properties의 sonar.log.level 참조). 보완하면 HTTP 요청의 응답 시간도 기록 할 수 있습니다 (sonar.web.accessLogs.pattern의 % D 참조). –

+0

인증 스택이 외부 시스템 (LDAP, OpenId, ...)에 연결되어 있는지 확인할 수도 있습니다. –

답변

0

나는 다음을 수행하여 크게 서버에서 응답 시간을 향상 할 수 있었다 :

  1. 다시 시작을
  2. 일정 (이 매일 예정) 프로세스는 주기적으로이 내가 분석 할 필요가 일부 차이가 여전히 있지만 평방를 다시 시작한 후, 평균 대기 시간이 가서 서버 (단지 쉘 스크립트 컬 실행하고 응답 시간을 몇 분 간격으로 로그인)

를 폴링하기 현저하게 (~ 0.6 초 대 평균 응답 10+), 그것은 여전히 ​​약간 느린 imo이지만 sq는 내부적으로 만 사용되므로 괜찮습니다. 가장 중요한 것은 스캐너 작업이 실패하지 않았기 때문입니다. 다시 시작하기 전에 소켓 타임 아웃이있는 작업의 실패율은 약 60 %였습니다