Spring Boot 애플리케이션을 시작할 때 일반적으로 스타터에서 제공하는 기본 설정을 사용하는데, 이는 대부분의 경우 충분합니다. 그러나 성능이 필요한 경우 이 문서의 첫 번째 부분에서 설명하는 것처럼 특정 조정이 가능합니다.
Spring MVC를 사용하는 web, RESTFul 애플리케이션은 일반적으로 spring-boot-starter-web 종속성을 추가합니다. 이는 기본적으로 Tomcat을 웹 서버. 그러나 비동기식 및 비차단 아키텍처를 갖춘 고성능 웹 서버인 Undertow와 같은 더 흥미로운 대안이 있습니다. 동시 연결을 효율적으로 수행하므로 고성능 애플리케이션에 적합합니다. Tomcat이 나쁘다는 것은 아니지만 Undertow에 기회를 줄 수는 있습니다.
Undertow를 웹 서버로 사용하려면 spring-boot-starter-web이 이미 추가한 spring-boot-starter-tomcat 종속성을 무시해야 합니다. 그런 다음 spring-boot-starter-undertow를 추가하세요.
pom.xml 사용:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusions> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency> </dependencies>build.gradle 사용:
dependencies { implementation('org.springframework.boot:spring-boot-starter-web') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat' } implementation 'org.springframework.boot:spring-boot-starter-undertow' }저류 구성
IO 스레드 수와 작업자 스레드 수를 구성할 수 있습니다.
application.yml 사용
server: undertow: threads: io: 4 worker: 64application.properties 사용
server.undertow.threads.io=4 server.undertow.threads.worker=64I/O
스레드는 비차단 작업을 수행하며 차단 작업을 수행해서는 안 됩니다. 애플리케이션에 도착하는 연결을 수신 대기한 다음 처리 대기열로 보내는 역할을 담당하기 때문입니다. 일반적인 값은 CPU 코어당 I/O 스레드 2개입니다.
작업자 스레드는 I/O 스레드에 의해 처리 대기열로 전송된 서블릿 요청과 같은 차단 작업을 실행합니다. 이상적인 값은 워크로드에 따라 다르지만 일반적으로 CPU 코어당 스레드를 10개 정도 구성하는 것이 좋습니다.
자세한 정보와 탐색할 수 있는 추가 옵션을 보려면Undertow 문서를 참조하세요.
HTTP 응답 압축Spring Boot에서 데이터 압축을 구성하는 것은 이 기능을 지원하므로 간단한 작업입니다.
application.yml 사용
server: compression: enabled: true mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json min-response-size: 1024application.properties 사용
server.compression.enabled=true server.compression.mime-types=text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json server.compression.min-response-size=1024server.compression.enabled: 압축을 활성화/비활성화합니다.
server.compression.mime-types: 압축해야 하는 MIME 유형 목록.
server.compression.min-response-size: 압축을 수행하는 데 필요한 "
Content-Length"의 최소 크기입니다.
위 내용은 Spring Boot 애플리케이션의 성능 개선 - 1부의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!