- 현상
- 기존 설치형톰캣 + Spring 3.2 기반의 프로젝트를 Spring boot 1.3.5와 임베디드 톰캣으로 변경하였는데 일정 주기마다 응답이 느려지는 현상이 발생(약, 2~3초)
- 다른 프로젝트도 Spring boot로 서비스 중이지만 동일현상이 발생하지 않았음
- 의심사항 리스트업
- 일정주기 -> ehcache 캐쉬 리로드 타임
- 로그백 캐쉬 리로드
- 기타 여러가지
- 디버깅
- 테스트용 URL을 만들어서 call 찍어봄
- Spring boot tomcat access로그를 남겨서 응답시간을 남겨봄
- 어플리케이션 로그를 DEBUG레벨로 남겨봄
- 디버깅을 통한 의심사항 확인
- 응답이 느려질 때 어플리케이션 로그에 아래와 같은 딜레이가 발생됨을 확인(3초 가량의 딜레이)
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 블라블라
- 해당 시점에 jvm gc를 확인해보니 young gc가 발생 -> GC시점에 느려짐?? -> FULL GC도 아닌데 왜 느려짐? -> 임베디드톰캣 설정이 문제인가??
- jstat -gcutil -h10 프로세스ID 1s
- 재 확인해보니 꼭 GC발생시점에 느려지지는 않음
- 원인 : https://github.com/spring-projects/spring-boot/issues/2825
- 해결 : jasper development: false 처리 등
- 기타 참고 : https://bz.apache.org/bugzilla/show_bug.cgi?id=60798
'JAVA > Spring boot' 카테고리의 다른 글
IntelliJ에서 Maven multi module + spring boot + jsp 환경에서 JSP 못찾는 문제 해결 (0) | 2022.05.23 |
---|---|
spring boot admin 적용시 client호출에 인증처리를 위한(actuator) 방법 (0) | 2020.08.28 |
Spring boot 에서 JSP의 제약 (0) | 2019.05.26 |
spring boot 핫스왑 적용방법(with springloaded) (0) | 2019.04.16 |
파일업로드 Rest full 기능 샘플 소스 (0) | 2016.06.28 |