본문 바로가기
[IT] Spring Boot (JAVA)

[Spring Boot] Embeded Tomcat 설정

by 오리엔탈킴 2022. 8. 22.

안녕하세요, Spring Boot의 기본 웹서버인 Embeded Tomcat의 Config에 대해서 정리를 해보려합니다.

지난번에 Access 로그 설정 관련해서는 글을 작성을 하였기때문에, 로그를 제외한 나머지 설정에대해 정리를 해보도록 하겠습니다. (https://kim-oriental.tistory.com/43)

 

Embeded Tomcat 설정 항목

  • server.tomcat.accept-count : 모든 쓰레드가 사용 중 일 때 들어온 요청이 대기하는 최대 큐의 길이, 일반적인 상황에서는 이미 모든 쓰레드가 Full이 찼으면 장애일 가능성이 높아 큐의 길이가 너무 길다면 응답시간만 늦어지고 장애상황 인지가 늦어질 수 있음 (Default: 100)
  • server.tomcat.connection-timeout : 최초 연결이 허용되고, 요청 URI를 제출할 때까지 커넥터가 기다리는 시간
  • server.tomcat.keep-alive-timeout : 세션 연결 비용 (3-Way HandSharke)을 줄이기 위해, 연결이 닫지 않고 다른 HTTP 요청을 기다리는 시간 (미설정 시 Connection Timeout이 세팅 됨, -1은 사용하지 않음)
  • server.tomcat.max-keep-alive-requests : Keep Alive 유지할 수 있는 최대 HTTP 요청 수, 0이나 1은 Keep Alive를 비활성화이고 -1은 요청 수가 무제한 (Default : 100)
  • server.tomcat.max-connections : 서버가 유지할 수 있는 최대 Connection의 수 (Default : 8192)
  • server.tomcat.threads.max : 최대 실행 가능 Thread 수 (Default : 200)
  • server.tomcat.threads.min-spare : 항상 대기 중인 최소 Thread 수 (Default : 10)
  • server.tomcat.use-relative-redirects : sendRedirect 메서드의 상대 혹은 절대 리다이렉트 사용 여부 (Default: True)
  • server.tomcat.max-http-form-post-size : HTTP Post 요청의 최대 form 컨텐츠 용량 (Default : 2MB)
  • server.tomcat.max-swallow-size : 최대 request body 용량 (Default : 2MB)
  • server.tomcat.processor-cache : 캐시로 재사용 될 최대 유휴 프로세서 수, -1은 무제한으로 최대 연결 수와 동일 (Default : 200)
  • server.tomcat.reject-illegal-header : 잘못된 헤더명 또는 값이 포함된 요청의 경우 400응답으로 거부할지 혹은 무시하고 요청을 허용할지 설정 (Default : true (요청 거부))
  • server.tomcat.relaxed-path-chars : URI path에서 허용되어야 하는 문자 (쉼표로 구분하여 작성), "< > [ \ ] ^ ` { | }"만 허용
  • server.tomcat.relaxed-query-chars : URI query string에서 허용되어야 하는 문자 (쉼표로 구분하여 작성), "< > [ \ ] ^ ` { | }"만 허용
  • server.tomcat.uri-encoding : URI 디코딩에 사용 할 문자 인코딩 설정 (Default : UTF-8)
  • server.tomcat.additional-tld-skip-patterns : TLD (JSP 커스텀태그나 JSTL 태그 설정파일) 스캐닝을 위한 Jar파일 스캔을 스킵할 jar파일 패턴 정의 (예: additional-tld-skip-patterns: "*.jar" (모든 파일 스킵))
  • server.tomcat.resource.allow-caching : static resource에 대한 캐싱을 허용할지 여부 (Default : True)
  • server.tomcat.resource.cache-ttl : static resource 캐싱 유지 시간 (Time-To-Live)

 

참고 : https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.server

 

반응형

댓글