웹 브라우저를 사용하여 Amazon S3에 저장된 객체를 다운로드할 때 로딩 속도가 느린 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 3월 6일

웹 브라우저를 사용하여 Amazon Simple Storage Service(Amazon S3)에서 객체를 다운로드하려고 하는데 다운로드 속도가 느립니다. 왜 이런 현상이 발생합니까?

해결 방법

웹 브라우저를 사용하여 Amazon S3에서 다운로드하는 속도가 느려지는 원인을 찾으려면 다음을 확인하십시오.

낮은 인터넷 대역폭

ISP(인터넷 서비스 공급자)에서 제공받는 네트워크 속도를 확인합니다. 네트워크 속도가 느릴 경우 Amazon S3 버킷에 연결하여 객체를 다운로드하려고 할 때 병목 현상이 발생할 수 있습니다.

큰 객체 크기

다른 객체는 정상 속도로 다운로드되는데 일부 객체만 유독 다운로드하는 데 더 오래 걸리는 경우 다운로드 시간이 오래 걸리는 객체의 크기를 확인하십시오. 크기가 매우 큰 Amazon S3 객체의 경우 웹 브라우저가 전체 객체를 다운로드하려고 하면 다운로드 속도가 느려질 수 있습니다. 대안으로서, Amazon S3 API를 사용하여 범위가 지정된 GET 요청을 통해 대용량 객체를 다운로드해보십시오. 범위가 지정된 GET 요청을 사용하면 대용량 객체를 작은 청크로 분할하여 다운로드할 수 있으므로 지연을 방지하는 데 도움이 될 수 있습니다.

클라이언트와 Amazon S3 버킷 간의 지리적 거리

세계 각지에 분산된 클라이언트가 Amazon S3 버킷에서 다운로드하는 경우 버킷의 AWS 리전과 지리적으로 멀리 떨어져 있는 클라이언트의 다운로드 속도가 느릴 수 있습니다. 다음과 같이 하면 지리적으로 멀리 떨어져 있는 클라이언트의 다운로드 시간을 단축할 수 있습니다.

  • Amazon CloudFront 배포에서 Amazon S3 객체를 서비스합니다. CloudFront는 지리적으로 더 가까운 엣지 로케이션에서 클라이언트에 서비스를 제공하므로 지연 시간을 최소화할 수 있습니다.
  • 버킷을 클라이언트와 지리적으로 더 가까운 AWS 리전으로 이동하는 것을 고려하십시오. 리전 간 복제를 사용하여 원본 버킷의 객체를 다른 리전의 대상 버킷으로 복사할 수 있습니다.

중간 네트워크 관련 문제

패킷 손실, 많은 홉 수 또는 기타 ISP 관련 문제와 같은 네트워크 관련 문제는 웹 브라우저를 사용한 Amazon S3 다운로드 속도에 영향을 미칠 수 있습니다.

mtrtraceroute 같은 도구를 사용하면 네트워크 관련 문제로 인해 다운로드 속도가 느려진 것인지 확인할 수 있습니다. 이들 도구는 패킷을 원격 호스트로 전송하는 동안 발생할 수 있는 네트워크 문제를 찾아내는 데 도움이 될 수 있습니다. 예를 들어 다음 traceroute 명령은 포트 80을 통해 us-east-1의 Amazon S3 엔드포인트로 TCP traceroute를 전송합니다.

sudo traceroute -P TCP -p 80 s3.us-east-1.amazonaws.com

참고: ICMP를 통해 응답하지 않는 네트워크 디바이스가 많으므로 TCP traceroute를 실행하는 것이 좋습니다.

워크스테이션 리소스

워크스테이션 내에 전체 지연 시간에 영향을 줄 수 있는 리소스 경합(예: CPU, 메모리 또는 네트워크 대역폭)이 없는지 확인하십시오.

운영 체제에 따라 Resource Monitor 또는 top 명령과 같은 도구를 사용하여 대부분의 클라이언트 시스템에서 리소스 사용량을 확인할 수 있습니다.

Amazon S3에서 처리 시간 격리

다운로드 속도가 느려지는 원인이 무엇인지 파악하기 위해 Amazon S3에서 처리 시간을 격리할 수 있습니다. 서버 액세스 로깅을 활성화한 다음, [Total Time(총 시간)]에 대한 로그를 검토하여 Amazon S3가 요청을 처리하는 데 걸린 시간을 확인할 수 있습니다.

또한 Amazon CloudWatch 지표 FirstByteLatency를 분석할 수도 있습니다. FirstByteLatency는 Amazon S3가 클라이언트의 요청을 처리한 후 클라이언트로 응답을 전송하기 시작하는 데 걸린 시간을 보여줍니다. CloudWatch 지표는 버킷 수준의 성능 정보를 제공합니다.

참고: Amazon S3 CloudWatch 요청 지표는 사용자 지정 지표와 동일한 요금으로 청구됩니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?