1. 현상
    1. 기존 설치형톰캣 + Spring 3.2 기반의 프로젝트를 Spring boot 1.3.5와 임베디드 톰캣으로 변경하였는데 일정 주기마다 응답이 느려지는 현상이 발생(약, 2~3초)
    2. 다른 프로젝트도 Spring boot로 서비스 중이지만 동일현상이 발생하지 않았음
  2. 의심사항 리스트업
    1. 일정주기 -> ehcache 캐쉬 리로드 타임
    2. 로그백 캐쉬 리로드
    3. 기타 여러가지
  3. 디버깅
    1. 테스트용 URL을 만들어서 call 찍어봄
    2. Spring boot tomcat access로그를 남겨서 응답시간을 남겨봄
    3. 어플리케이션 로그를 DEBUG레벨로 남겨봄
  4. 디버깅을 통한 의심사항 확인
    1. 응답이 느려질 때 어플리케이션 로그에 아래와 같은 딜레이가 발생됨을 확인(3초 가량의 딜레이)
    2. 2016-07-03 12:22:04 [DEBUG] o.a.c.connector.CoyoteAdapter:180 - The variable [semicolon] has value [-1]
      2016-07-03 12:22:04 [DEBUG] o.a.c.connector.CoyoteAdapter:180 - The variable [enc] has value [utf-8]
      2016-07-03 12:22:07 [DEBUG] o.a.c.a.AuthenticatorBase:180 - Security checking request POST 요청URL 블라블라
    3. 해당 시점에 jvm gc를 확인해보니 young gc가 발생 -> GC시점에 느려짐?? -> FULL GC도 아닌데 왜 느려짐? -> 임베디드톰캣 설정이 문제인가??
      1. jstat -gcutil -h10 프로세스ID 1s
      2. 재 확인해보니 꼭 GC발생시점에 느려지지는 않음








+ Recent posts