2017-10-09 5 views
1

내 API에 대해 몇 가지 perf 테스트를 실행 중입니다.왜 AWS ELB에 대한 많은 요청이 이루어지면 알 수없는 호스트 오류가 발생합니까?

대략 : 일분

  • ~ 10K에

    • 100,000 요청 ALB 활성 연결은
    • ~ 13K는 ALB 새 연결이

    ELB 4 M4 앞에 앉아 계산 계산합니다. 큰 인스턴스의 경우 CPU 사용량이 거의 없습니다. 내가 만든 요청은 결국 "소켓을 열지 못했습니다"와 결국 "UnknownHostException"을 던지기 시작합니다. 내 ELB가 이러한 요청을 거절하기로 결정한 것과 같습니다.

    ELB에 실제로 제한이 없다고 생각합니까? 그랬더라도 내 숫자가 꽤 ​​낮다고 말할 수 있을까요?

  • +0

    하나의 시스템에서 모든 요청을 열거 나 보내려고하십니까? – iMysak

    +1

    UnknownHostException -이 (클라이언트) 측에서 문제가 될 수 있습니다. – iMysak

    +0

    내 컴퓨터에서. 나는 요청이 나가기 위해 규칙을 설정했다. 동시 요청 수는 매 두 번째로 50만큼 증가하고 5k로 제한된다. – iCodeLikeImDrunk

    답변

    0

    발생하는 문제는 ELB에 과부하가 걸렸다는 것입니다. 해결책은 "예열"이라고합니다. 즉, 급격한 트래픽 증가를 처리하기 위해 ELB가 성장하는 데는 시간이 걸립니다. ELB를 예열하도록 요청함으로써 AWS 지원부에 연락하여 문제를 해결해야합니다.

    더 나은 해결 방법은 예열을 필요로하지 않는 최신 NLB (네트워크 부하 분산 장치)로 전환하는 것입니다.

    +0

    "알 수없는 호스트"가 ELB 용량과 관련이 있다는 주장을 정당화하는 것이 불가능하지는 않더라도 어렵습니다. 해당 컨텍스트에서 특정 오류에 대한 논리적 인 이유는 없습니다 ... <65K 동시 연결을 처리하는 것으로 보입니다. –

    +0

    Michael, 고객이 ELB에 대해 성능 테스터를 사용하는 경우는 매우 일반적인 문제입니다. Amazon에는 테스터 사용법이 구체적으로 언급 된 문서가 있습니다. https://aws.amazon.com/articles/1636185810492479. 여기서 알 수없는 것은 ELB에 과부하가 걸렸을 때 클라이언트 테스트 소프트웨어가 어떻게 작동하는지입니다. 연결을 완료하는 데 오랜 시간이 걸리므로 클라이언트의 소켓이 부족합니까? 5 분 안에 23,000 명의 사용자가 갑자기 증가하는 것은 Classic로드 밸런서가 지원하지 않습니다. 5 분마다 50 % 이상 트래픽을 증가시키지 마십시오. ALB도 동일한 권장 사항을 가지고 있습니다. –

    +0

    마이클, 마지막 코멘트에 공백이났다. TCP/IP 스택에 사용 가능한 연결 슬롯이 없으므로 호스트 이름도 확인할 수 없습니다. –