SpringBoot 내장 tomcat 변조 테스트 최적화

문제.
어떻게 springBoot 에 tomcat 를 내장 해 야 자신의 서비스 효율 을 더욱 높 일 수 있 습 니까?
기본 설정
Spring Boot 가 지원 할 수 있 는 최대 병발 량 은 주로 Tomcat 에 대한 설정 을 보고 설정 파일 에서 변경 할 수 있 습 니 다.기본 설정 에서 Tomcat 의 최대 스 레 드 수 는 200 이 고 최대 연결 수 는 10000 입 니 다.이것 은 SpringBoot 버 전에 따라 약간의 차이 가 있 을 수 있 습 니 다.본 테스트 는 Springboot 2.0.7.RELEASE 를 바탕 으로 한다.
기본 설정

/**
		 * Maximum amount of worker threads.
		 */
		private int maxThreads = 200;

		/**
		 * Minimum amount of worker threads.
		 */
		private int minSpareThreads = 10;

		/**
		 * Maximum size in bytes of the HTTP post content.
		 */
		private int maxHttpPostSize = 2097152;

		/**
		 * Maximum size in bytes of the HTTP message header.
		 */
		private int maxHttpHeaderSize = 0;

		/**
		 * Whether requests to the context root should be redirected by appending a / to
		 * the path.
		 */
		private Boolean redirectContextRoot = true;

		/**
		 * Whether HTTP 1.1 and later location headers generated by a call to sendRedirect
		 * will use relative or absolute redirects.
		 */
		private Boolean useRelativeRedirects;

		/**
		 * Character encoding to use to decode the URI.
		 */
		private Charset uriEncoding = StandardCharsets.UTF_8;

		/**
		 * Maximum number of connections that the server accepts and processes at any
		 * given time. Once the limit has been reached, the operating system may still
		 * accept connections based on the "acceptCount" property.
		 */
		private int maxConnections = 10000;

		/**
		 * Maximum queue length for incoming connection requests when all possible request
		 * processing threads are in use.
		 */
		private int acceptCount = 100;

테스트 단계
원본 코드 를 통 해 알 수 있 습 니 다(org.springframework.boot.autoconfigure.web.server Properties)springBoot 에 tomcat 기본 설정 이 내장 되 어 있 습 니 다.현재 로 컬 에서 효 과 를 나타 내기 위해 서 는 파 라 메 터 를 의도 적 으로 작 게 설정 하여 다음 과 같이 압력 측정 인터페이스 에 sleep(2000)아 날로 그 스 레 드 를 풀 지 않 았 습 니 다.

  tomcat:
     #     
    min-spare-threads: 5
    #     
    max-threads: 5
    #     
    max-connections: 5
    #        
    accept-count: 1
이 설정 은 압력 측정 에 대응 합 니 다.
在这里插入图片描述
압력 측정 100 을 통 해 이상 이 85%에 달 하 는 것 을 발 견 했 습 니 다.ReadTimeout 과 ConnectTimeout 설정 이 2 초 100 개의 스 레 드 를 동시에 달성 하기 때문에 최대 스 레 드 를 처리 하 는 데 1 밖 에 안 되 고 줄 을 서 는 것 도 1 로 인해 스 레 드 처리 요청 이 없 기 때문에 시간 을 초과 하 는 것 은 줄 을 서지 못 하고 거절 하지 마 십시오.내 가 본 기계 의 cup 에 따라 합 리 적 으로 배치 한 후에 압력 측정 상황 을 보 았 다.최적화 설정 은 다음 과 같 습 니 다.

  tomcat:
      #     
    min-spare-threads: 100
    #     
    max-threads: 600
    #     
    max-connections: 10000
    #        
    accept-count: 1000
在这里插入图片描述
위의 그림 과 같이 100 병발 이 상 률 이 0 으로 모두 통과 되 었 고 응답 시간 도 sleep(2000)을 대부분 10 밀리초 동안 줄 였 다.최적화 효과 가 현저 하 다.
여기 서 SpringBoot 내장 tomcat 튜 닝 테스트 최적화 에 관 한 글 을 소개 합 니 다.더 많은 SpringBoot 내장 tomcat 튜 닝 테스트 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기