2017-11-23 3 views
1

현재 AWS의 Gatling을 사용하여 서비스 테스트를로드하고 있습니다. HTTP를 사용하는 여러로드 테스트를 수행하고 서비스가 완벽하게 작동합니다. TLS 핸드 셰이크 오류가 없습니다. HTTPS로 옮겼을 때로드 테스트 결과에 따르면 TLS 핸드 셰이크 시간 초과가 예외로 표시되었고 처리되지 않은 요청이 대기열에 들어 왔기 때문에 OOM이 발생했습니다.Gatling을 사용하여로드 테스트를 수행 할 때 TLS 핸드 셰이크 시간 초과가 발생했습니다.

추가 정보 :

  • 개틀링 시나리오는 다음과 같이 될 것입니다 : 세 가지 요청을 전송하고 connection: close 헤더와 하나 개의 요청을 보냅니다. 살아남은 세 가지 요청을 보내 시뮬레이션을하고 싶었습니다.
  • 내 서비스는 Kubernetes에서 관리합니다.
    • 내가 다른 개틀링 인스턴스에서 부하 테스트를 실행하지만, 오류가 여전히 AWS 부하 분산 다시 시작
    • 을 계속 :

    는 내가 뭘 한 거지. 추가 참고 사항 : 4xx 및 5xx 오류는 없지만 클라이언트 TLS 협상 오류가 있습니다.

내 질문 :

  1. 오류 때문에 HTTPS에 필요한 초기 핸드 쉐이크의 발생되어 있습니까?
  2. AWS로드 밸런서로 인해 오류가 발생 했습니까?

감사합니다.

답변

1

그래서 Gatling이 초당 생성 사용자보다 더 오래 핸드 셰이크하는 데 걸린 시간이 문제였던 것 같습니다. 생성 된 사용자 수를 줄이고 RPS 수를 늘림으로써이를 해결했습니다.

0

클라이언트에 SSL 디버그 플래그를 추가해야합니다. 그러면 오류의 특성이 표시됩니다. TLS 핸드 셰이크 타임 아웃은 일반적으로 암호/프로토콜 불일치로 인해 발생합니다.

특정 TLS 프로토콜을 찾아 개틀링 서버가 사용하는 암호의 설정 SSL Negotiation Configurations for Classic Load Balancers

탄성로드 균형 조정 사용에서 당신의 ELB의 HTTPS 리스너가 올바른 암호 및 프로토콜

를 사용하고 있는지 확인 보안 정책이라고하는 SSL (Secure Socket Layer) 협상 구성을 사용하여 클라이언트와 부하 분산 장치 간 SSL 연결을 협상합니다. 보안 정책은 SSL 프로토콜, SSL 암호 및 서버 주문 환경 설정 옵션의 조합입니다. 부하 분산 장치에 대해 SSL 연결을 구성하는 방법에 대한 자세한 내용은 기본 부하의 수신기 인 분산 장치를 참조하십시오.

여기에 모든 암호/프로토콜을 허용하십시오.

관련 문제