[SPRING] 스프링 부트 임베디드 Tomcat 성능
SPRING스프링 부트 임베디드 Tomcat 성능
내 응용 프로그램 용 Microservices API를 개발 중입니다. 나는 스프링 부트 애플리케이션으로 시작했다. 필자는 "내장 된 바람둥이가있는 비즈니스 코드"와 "포함 된 바람둥이가없는 비즈니스 코드"라는 두 가지 결과물을 만들었습니다.
성능 결과를 비교해 보면 "내장되지 않은 바람둥이"(즉 독립 실행 형 바람둥이에서 실행 중)가 기본 실행으로 인해 좋은 결과를 제공한다는 것을 알 수 있습니다.
기본적으로 임베디드 바람둥이와 독립 실행 형 바람둥이의 차이점은 무엇입니까?
두 번의 실행간에 성능이 어떻게 다릅니 까?
해결법
-
==============================
1.이 문제의 근본 원인을 찾아 냈습니다.
이 문제의 근본 원인을 찾아 냈습니다.
APR (Apache Portable Runtime)은 바람둥이 실 실행에 중요한 역할을합니다.
기본적으로 내장 된 Tomcat은 NIO를 실행합니다. NIO와 BIO는 Java 기반 실행이지만 APR은 기본 실행입니다. NIO와 APR의 성능을 비교할 때 APR은 훨씬 빠릅니다.
사실 모든 Linux 기반의 tomcat 번들은 tomcat lib 폴더 아래에 APR 라이브러리와 함께 제공됩니다.
임베디드 tomcat (즉, Spring Boot)에서 APR을 활성화 한 후에는 독립 실행 형 Tomcat과 비교하여 성능이 동일합니다.
http://tomcat.apache.org/tomcat-7.0-doc/apr.html
from https://stackoverflow.com/questions/40319869/spring-boot-embedded-tomcat-performance by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] java.lang.ClassNotFoundException : org.springframework.web.context.request.RequestContextListener (0) | 2019.03.31 |
---|---|
[SPRING] SocialAuthenticationFilter와 ProviderSignInController를 함께 사용해야합니까? (0) | 2019.03.31 |
[SPRING] 정규 표현식으로 봄 URI 템플릿 패턴 (0) | 2019.03.31 |
[SPRING] Spring DispatcherServlet : HTTP 요청에 대한 매핑이 없습니다. (0) | 2019.03.30 |
[SPRING] 스프링의 동적 폼 (0) | 2019.03.30 |