(110) Connection timed out 의 오류 HttpClient 요청 이 close 되 지 않 을 때마다 Nginx connect failed (110 - Connection timed out)

회사 의 사 이 트 는 자주 다음 과 같은 문제 가 발생 한다.
다음 오류 가 발생 했 습 니 다:
  • Connection Failed  연결 실패
  • 시스템 이 다음 내용 을 되 돌려 줍 니 다:
        (110) Connection timed out

    시스템 은 HttpClient 를 사용 하여 메시지 (순환 전송 상황 이 있 을 수 있 음) 를 외부 시스템 으로 보 내 고 nginx 를 통 해 보 냅 니 다.  connect failed (110- Connection timed out) 오류 어떤 청구 들 은 잘못 을 보고 하고, 어떤 것 은 보고 하지 않 으 며, 모두 부정 확 한 것 이다. ),인터넷 에서 찾 아 낸 답 은 대부분 시스템 커 널 오류 때 문 이 라 고 합 니 다. Nginx 는 gettimeofday () 방법 을 호출 했 지만 C 코드 를 작성 하여 gettimeofday () 방법 을 호출 하여 테스트 를 했 습 니 다. 이 BUG 를 재현 할 수 없 기 때문에 시스템 내부 의 오류 때 문 이 아 닐 까 생각 합 니 다. 
    조 사 를 통 해 우 리 는 HttpClient 를 사용 하여 메 시 지 를 보 낸 후에  연결 이 닫 히 지 않 음 ,코드 추가: 
    httpclient = new DefaultHttpClient(new ThreadSafeClientConnManager());
    finally {
      if (httpclient != null && httppost != null){
            
        //       
        httppost.releaseConnection();
        //   Socket  
        httpclient.getConnectionManager().shutdown();
      }
    }

    그리고 1 박 1 일 테스트 를 통 해 connect failed (110 - Connection timed out) 라 는 문제 가 더 이상 나타 나 지 않 았 다.
    이 문제 가 발생 한 추측 을 다시 한 번 말씀 드 리 겠 습 니 다.
    시스템 내부 (  우리 시스템 은 타이머 와 능 동적 전송 이 있 습 니 다. )새로운 httpclient 연결 을 계속 만 들 고 이 연결 을 닫 지 않 았 습 니 다. 메 시 지 를 대량으로 보 내 면  시스템 과 Nginx 사이 의 대기 연결 이 너무 많 습 니 다. ,이렇게 하면 nginx 배포 에 문제 가 생 겨 서 nginx 가 Connection timed out 을 보고 할 수 있 습 니 다. 연결 이 너무 많아 서 방출 되 지 않 았 고 nginx 가 자발적으로 연결 을 방출 하 는 데 시간 이 있 습 니 다.

    좋은 웹페이지 즐겨찾기