웹 개발

Spring boot application 시작 시, CPU 100% 를 사용할 경우 대처 방법

노루아부지 2020. 11. 29. 21:57
  1. 애플리케이션에서 불필요한 모듈 및 Bean 정의를 제거하십시오. 개발자가 저지르는 일반적인 실수 중 하나는 애플리케이션에 웹 환경이 필요하지 않은 경우에 spring-boot-starter-web를 포함하는 것입니다. 다른 starter 모듈도 마찬가지 입니다.
  2. @ConditionalOnMissingBean, @ConditionalOnProperty, @ConditionalOnClass, @ConditionalOnBean, @ConditionalOnMissingClass, @ConditionalOnExpression를 사용하여 조건부 Bean 정의를 사용하십시오. 조건이 많은 Bean을 확인하기 위해 Spring을 만들면 역효과를 낼 수 있습니다.
  3. Spring profile을 사용하십시오. 특정 Bean 세트가 실행중인 인스턴스의 일부가 되지 않도록 하려면 해당 Bean을 프로파일로 그룹화하여 활성화하거나 비활성화 할 수 있습니다.
  4. 웹 컨테이너가 가질 수 있는 초기 스레드 수를 구성합니다. 데이터 소스도 마찬가지입니다. 필요한 수의 활성 스레드만 사용하여 풀을 시작합니다.
  5. @Lazy로 클래스 또는 Bean에 주석을 달아 Bean에 대해 지연 초기화를 사용하십시오. 이 어노테이션은 Bean마다 붙이거나 전체 @Configuration에 대한 것일 수 있습니다.

 

 

 

stackoverflow.com/questions/47270059/spring-boot-applications-consume-100-cpu-at-startup

728x90
loading