창문의 조정 톰캣 (8)

1. JDK 경로와 매개 변수 VM 지정

  다음 줄을 추가 SETLOCAL 약 95 위, bin 파일의 catalina.bat을 수정합니다 :

  설정 JAVA_OPTS = -Xms1024m -Xmx1024m -XX : PermSize = 256M -XX : //를 MaxPermSize = 512M VM 구성 파라미터, 실제 시스템 구성에 따라
  설정된 JAVA_HOME = ... \ jdk1.8.0_92 // 지정된 경로에 대응하는 버전의 JDK
  집합 JRE_HOME는 ... \ jdk1.8.0_92 \ JRE =

    힙 메모리 할당

  -Xms <사이즈> 초기화 JVM 힙 사이즈 -Xmx <사이즈> 나타내는 최대 JVM 스택을 나타낸다. 스택 일반적으로 사용 가능한 최대 메모리의 80 %에서 최고 설정을 권장하고 -Xms와 -Xmx 옵션이 필요하지 않습니다 완전히 자바 가비지 컬렉션 힙을 청소 할 수 있도록 설계되는, 동일로 설정되어 스택 스페이서를 재 계산 영역의 크기와 자원의 낭비.

  메모리 -Xms JVM에 의해 지정된 초기 할당, 물리 메모리 1/64 기본; JVM은 -Xmx 1/4 기본 물리적 메모리에 할당 된 최대 메모리에 의해 규정된다. JVM 스택 -Xmx 최대 한도까지 증가 힙 예비 메모리가 40 % 미만 기본적, 여유 시간이 힙 메모리의 70 %보다 큰 경우, JVM이 -Xms까지 스택의 최소 한도를 감소시킨다. 따라서, 서버가 일반적으로 배치 -Xms는 -Xmx 각 GC 후에 힙의 크기를 조정 삼가 동일.
    메모리 할당 영속 메모리 상태
  는 JVM -XX 의해 사용 : PermSize 초기 값 설정 비 힙 메모리, 물리적 메모리의 기본 1/64; XX에 의해 제조 : 최대 비 힙 메모리를 MaxPermSize 크기는 기본 물리적 메모리의 1/4이 제공된다.

 

은 server.xml을 수정합니다

conf의 수정 경로 아래의 server.xml,

<! -

<집행자 이름 = "tomcatThreadPool"namePrefix = "카탈-exec-"

    maxThreads = "150"minSpareThreads = "4"/>

->

개정

<집행자

    이름 = "tomcatThreadPool"

    namePrefix = "카탈-exec-"

    maxThreads은 = 동시, 200 기본 설정의 "500"// 최대 수는 하드웨어 시설과 결정 작업에 따라, 800 (500)을 추천 일반적으로

    minSpareThreads = "100"// 톰캣의 초기화 중에 생성 된 스레드의 수, 기본 설정 (25)

    prestartminSpareThreads = 톰캣 minSpareThreads 초기화시에 "참"// 초기화 파라미터 값 사실과 같지 않은 경우, 무효 값 minSpareThreads

    maxQueueSize는 큐 = "100"// 최대 수는, 상기 요청이 거부 초과

/>

3. 수정 기본 구성 매개 변수 링크

의 <커넥터 
    포트 = "8080" 
    프로토콜 = "HTTP / 1.1" 
    은 ConnectionTimeout = "20000" 
    있는 redirectPort = "8443" 
/>

개정

<커넥터 
   집행자 = "tomcatThreadPool"
   포트 = "8080" 
   프로토콜 = "org.apache.coyote.http11.Http11Nio2Protocol"// 톰캣 8 배치 nio2 더 톰캣 -6,7- NIO 더 구비 : org.apache.coyote.http11.Http11NioProtocol을
   은 ConnectionTimeout = "20000" 
   의 MaxConnections = "10000" 
   있는 redirectPort = "8443" 
   enableLookups = "false"를 // 사용하지 않도록 DNS 쿼리
   acceptCount = "100"// 모든 요청을 처리하는 데 사용할 수있는 스레드의 수를 사용하는 경우, 요청의 수, 요청의 수는 처리되지 않습니다보다 더, 큐 과정에 배치 될 수있다 지정된 기본 설정 (100)
   maxPostSize = 제출의 방법으로 "10485760"// POST FORM URL 매개 변수는 제출 한도의 최대 크기는 기본 단위는 바이트를 사용 2097152 (2 MB)입니다. 10M에 10,485,760. 당신이 제한을 사용하지 않으려면, 당신은 -1로 설정할 수 있습니다.
   압축 = "ON" 
   disableUploadTimeout = "true"로 
   compressionMinSize = "2048" 
   acceptorThreadCount는 = 연결을 수신 스레드의 "2"// 수는 기본 값은 1입니다. 이것은 일반적으로 서버가 멀티 코어 CPU 때문에 그것은 일반적으로 멀티 코어 CPU (2)로 구성되는 경우, 변경이 필요한 경우 의미한다.
   compressableMimeType = "text / html과, 텍스트 / XML, 텍스트 / 일반, 텍스트 / CSS, 텍스트 / 자바 스크립트, 응용 프로그램 / 자바 스크립트" 
   URIEncoding = "UTF-8"
/>

4. 톰캣 시간에서 과도한 CLOSE_WAIT의 문제에 시간

다음 문제는 서버가 시작된 시간 후에 발생합니다 :

 

해결 방법 : CLOSE_WAIT 무엇,이 상태가 TIME_WAIT와 유사점을 가지고, 그 연결을 유지하고 특정 시간을 개최한다 . 우리는 거의 모든 운영 체제 핸들의 개별 프로세스 (연결)의 수는 리눅스 시스템 기본의 대부분이 1024과 같은 한계를 가지고 있음을 알고있다. 압도 가능한 연결의 결과로 대기에서와의 연결이 너무 많은 때문입니다. 연결이 가능한 연결 중 하나가 될 복귀 후 즉시 폐쇄 될 수 있도록 장애인 대기.
예를 들어와 톰캣 :

<커넥터 포트 = "8080"프로토콜 = "org.apache.coyote.http11.Http11NioProtocol"
           은 ConnectionTimeout = "20000"를 maxThreads = "1000"는이 URIEncoding = "UTF-. 8" KeepAliveTimeout 값 = "0" /> 
참고 KeepAliveTimeout 값은 = "0"인 키

추천

출처www.cnblogs.com/zt2710/p/12112436.html