1

Elastic Beanstalk을 정말 좋아하고 Tomcat7 64 비트 컨테이너에서 SSL을 사용하여 내 webapp (Spring MVC, Hibernate, ...)를 시작하여 실행할 수 있습니다.Elastic Beanstalk을 사용하여 SSL 성능을 향상시키는 방법

성능에 대한 주요 관심사는 (아마존 클라우드를 사용하면 여기에 도움이 될 것이라고 생각했습니다).

내 서버 성능을 벤치 마크하기 위해 blitz.io (아마존 클라우드를 사용하여 여러 클라이언트가 동시에 내 웹 서비스에 액세스하도록 함)를 사용하고 있습니다.

내 첫 번째 간단한 성능 테스트는 이미 나를 궁금해했다. 나는 기본적으로 "나는 괜찮아"라고 인쇄 한 상태 확인 벤치 마크를 벤치마킹했다.

SSL을 사용하지 않음 : 정상적으로 보입니다. 13 응답 시간이 9ms 인 조회수 230 응답 시간이 8ms 인 조회수

SSL : 매우 좋지 않습니다. 13 응답 시간이 44ms 인 조회수 (확인, 암호화 오버 헤드로 인해 약간 더 커야 함) 30 응답/초 3.6 초 응답!

연결 시간 초과 (시간 초과 = 10 초)로 인해 왼쪽으로 올라갔습니다.

본질적으로 동일한 결과로 백그라운드에서 더 큰 EC2 인스턴스를 사용해 보았습니다.

EC2 인스턴스보다 먼저로드 밸런서를 SSL 암호화의 엔드 포인트로 사용합니다. 이 성능을 높이려면 어떻게합니까?

탄력있는 콩알로 할 수 있습니까? 또는 내 부하 분산 장치 등을 설치해야합니까?

나는 또한 Heroku (약간 다른 기술 스택을 가지고 있긴하지만, SpringMVC 대 플레이!)를 사용하여 몇 가지 테스트를 수행했습니다. 여기서도 응답 시간이 늘어난 것을 보았지만 대부분 일정하게 유지되었습니다. 나는 그들이 꽤 performant SSL endpoint를 사용하고 있다고 가정하고있다. 나는 Elastic Beanstalk을 어떻게 구할 수 있습니까?

답변

1

보안 전송 채널을 열기 전에 SSL을 사용하려면 핸드 셰이 킹이 필요합니다. 여러 라운드 트립이 포함 된 핸드 쉐이킹이 완료되면 데이터가 전송됩니다.

로드 테스터를 사용하여 페이지를 치고있을 때마다 각 히트마다 핸드 셰이크를 수행합니다. 이미 설정된 세션을 재사용하지 않습니다.

브라우저가 그렇게하는 것이 아닙니다. 찾아보기는 한 번 핸드 셰이크를 수행 한 다음 특정 기간 동안 모든 후속 요청에 대해 열린 암호화 된 세션을 다시 사용합니다.

그래서 나는 그 결과에 대해별로 걱정하지 않을 것입니다. 나는 www.browsermob.com과 같은 도구를 사용해 많은 이미지, js, css 등이있는 전체 페이지가 SSL 대 비 SSL을 통해로드되는 데 얼마나 걸리는지 확인하는 것이 좋습니다. 그것은 공정한 비교 일 것입니다.

도움이 되었습니까?

+0

이 웹 페이지에 관한 것이 아니라, 본질적으로 이미지의 업로드를 처리하는 웹 서비스 :

이 위대한 작성자를 참조하십시오. 따라서 각각의 핸드 셰이크를 수행하는 많은 동시 요청을 처리하는 것이 중요합니다. – David

관련 문제