상용 자바 웹 용기 http 긴 연결 시간 초과 설정

1.http 장 접속 지식
http 긴 연결 은 우리 에 게 낯 설 지 않 지만 긴 연결 이 영원히 닫 히 지 않 는 것 은 아 닙 니 다.HTTP 긴 연결 에 대해 서 는 다음 과 같은 몇 가 지 를 주의해 야 합 니 다.
  • keepalive_timeout 은 웹 서버 가 마지막 응답 메 시 지 를 보 낸 후 시간 을 재 는 것 을 말 합 니 다.keepalivetimeout 이 지정 한 시간 동안 이 연결 에 대한 다음 요청 을 받 지 못 하면 연결 을 닫 습 니 다

  • http 긴 연결 keepalivetime 와 tcp 가 연 결 된 keepalivetimeout 은 다르다.http keep-alive 는 tcp keep-alive 와 의도 가 다 릅 니 다.http keep-alive 는 tcp 를 더 오래 살 게 하기 위해 서 입 니 다. 같은 연결 에 여러 http 를 전송 하여 socket 의 효율 을 높 입 니 다.한편,tcp keep-alive 는 TCP 의 연결 상 태 를 검사 하 는 신선 도 유지 체제 이다.tcp keep-alive 신선 도 유지 타이머,세 개의 시스템 커 널 설정 매개 변 수 를 지원 합 니 다
    echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
    
    echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl
    
    echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes

     keepalive 는 TCP 신선 도 유지 타이머 입 니 다.네트워크 양 끝 에 TCP 연결 이 되 어 있 으 면 유 휴 idle(쌍방 이 데이터 흐름 을 보 내지 않 음)tcpkeepalive_시간 이 지나 면 서버 커 널 은 클 라 이언 트 에 게 검색 패 키 지 를 보 내 TCP 연결 상황 을 판단 하려 고 시도 합 니 다(클 라 이언 트 가 무 너 지고 응용 프로그램 을 강제로 닫 을 수 있 으 며 호스트 가 접근 할 수 없 음 등).상대방 의 대답(ack 가방)을 받 지 못 하면 tcpkeepalive_intvl 후 다시 탐색 패 키 지 를 보 내 려 고 시도 합 니 다.상대방 에 대한 ack 를 받 을 때 까지 상대방 의 ack 를 받 지 못 하면 모두 tcp 를 시도 합 니 다.keepalive_probes 회,매번 간격 은 여기 서 각각 15s,30s,45s,60s,75s 입 니 다.tcp 시도 하면keepalive_probes,상대방 의 ack 패 키 지 를 받 지 못 하면 이 TCP 연결 을 버 립 니 다.TCP 연결 의 기본 유 휴 시간 은 2 시간 이 며 보통 30 분 으로 설정 하면 충분 합 니 다.
        3.tcp keepalive 에 대한 메모리 설정 을 제외 하고 각 tcp 연결 에 대해 서도 3 개의 대응 하 는 인자 가 있 습 니 다.setsockopt 시스템 을 통 해 단독 socket 을 호출 하여 설정 합 니 다.
    TCPKEEPCNT:    tcpkeepaliveprobes
    TCPKEEPIDLE:    tcpkeepalivetime
    TCPKEEPINTVL:    tcpkeepalive_intvl

    2.흔 한 자바 웹 용기 http 긴 연결 설정
  • tomcat  

  •   2.nginx
          nginx 사용 명령 keepalivetimeout[time]http 긴 연결 keepalive 설정timeout 의 값 은 세 곳 에서 설정 할 수 있 습 니 다.http 컨 텍스트,server 컨 텍스트,location 컨 텍스트.
      3.apache
       KeepAlive On
       KeepAliveTimeout 15
        

    좋은 웹페이지 즐겨찾기