스토리지 성능 최적화

Last reviewed 2023-07-14 UTC

Google Cloud 아키텍처 프레임워크의 이 문서에서는 Google Cloud에서 스토리지 리소스 성능을 최적화하는 데 도움이 되는 권장사항을 제공합니다.

Cloud Storage

이 섹션에서는 Cloud Storage 작업의 성능을 최적화하는 데 도움이 되는 권장사항을 제공합니다.

버킷 성능 평가

gsutil perfdiag 명령어를 사용하여 Cloud Storage 버킷 성능을 평가합니다. 이 명령어는 서로 다른 크기의 파일로 일련의 읽기 및 쓰기 요청을 전송하여 지정된 버킷의 성능을 테스트합니다. 애플리케이션의 사용 패턴과 일치하도록 테스트를 조정할 수 있습니다. 명령어로 생성되는 진단 보고서를 사용해서 성능 기대 수준을 설정하고 잠재적인 병목 현상을 식별합니다.

자주 액세스하는 객체 캐시

공개적으로 액세스할 수 있는 자주 액세스되는 객체의 읽기 지연 시간을 개선하기 위해서는 이러한 객체를 캐시하도록 구성할 수 있습니다. 캐싱으로 성능을 향상시킬 수 있지만 캐시에 오래된 객체 버전이 포함된 경우 오래된 콘텐츠가 제공될 수 있습니다.

효율적으로 요청 확장

버킷의 요청 비율이 증가함에 따라 Cloud Storage는 여러 서버에 요청 부하를 분산하여 해당 버킷에 대한 I/O 용량을 자동으로 늘립니다. 요청을 확장할 때 최적의 성능을 얻기 위해서는 요청 비율을 늘리고 부하를 고르게 분산하기 위한 권장사항을 따릅니다.

멀티스레딩 및 다중 처리 사용 설정

gsutil을 사용하여 많은 작은 파일을 업로드할 때는 -m 옵션을 사용하여 작업 성능을 향상시킬 수 있습니다. 이 옵션을 사용하면 업로드 요청이 일괄 처리된 병렬(즉, 멀티스레딩 및 다중 처리) 작업으로 구현됩니다. 고속 네트워크 연결로 작업을 수행할 때만 이 옵션을 사용합니다. 자세한 내용은 gsutil help options 명령어를 사용하여 gsutil의 전역 명령줄 옵션을 확인하세요.

대용량 파일 복합 업로드

대용량 파일을 업로드하려면 병렬 복합 업로드라는 전략을 사용할 수 있습니다. 이 전략을 사용하면 병렬로 업로드되고 클라우드에서 다시 구성되는 청크로 대용량 파일이 분할됩니다. 병렬 복합 업로드는 네트워크 대역폭 및 디스크 속도가 제한적이지 않을 때 일반적인 업로드 작업보다 속도가 빠를 수 있습니다. 그러나 이 전략은 일부 제한사항과 비용 영향이 있습니다. 자세한 내용은 병렬 복합 업로드를 참조하세요.

영구 디스크 및 로컬 SSD

이 섹션에서는 Compute Engine VM에 연결된 영구 디스크로컬 SSD의 성능을 최적화하는 데 도움이 되는 권장사항을 제공합니다.

영구 디스크 및 로컬 SSD의 성능은 디스크 유형과 크기, VM 머신 유형, vCPU 수에 따라 달라집니다. 영구 디스크 및 로컬 SSD의 성능을 관리하려면 다음 안내를 따르세요.

Filestore

이 섹션에서는 Filestore 인스턴스의 성능을 최적화하는 데 도움이 되는 권장사항을 제공합니다. Filestore를 사용하여 Compute Engine VM 및 GKE 클러스터에 대해 완전 관리형 네트워크 파일 시스템(NFS) 파일 서버를 프로비저닝할 수 있습니다.

  • Filestore 인스턴스를 프로비저닝할 때는 워크로드의 성능 및 용량 요구사항을 충족하는 서비스 등급을 선택합니다.
  • 캐시 종속 워크로드를 실행하는 클라이언트 VM에 대해 Filestore 인스턴스의 네트워크 성능을 최적화하는 데 도움이 되는 머신 유형을 사용합니다. 자세한 내용은 권장되는 클라이언트 머신 유형을 참조하세요.
  • Linux를 실행하는 클라이언트 VM에 대해 Filestore 인스턴스 성능을 최적화하기 위해서는 특정 NFS 마운트 옵션이 권장됩니다. 자세한 내용은 Linux 클라이언트 마운트 옵션을 참조하세요.
  • 네트워크 지연 시간을 최소화하려면 인스턴스를 사용하려는 위치와 가까운 리전 및 영역에 Filestore 인스턴스를 프로비저닝합니다.
  • Filestore 인스턴스 성능을 모니터링하고 Cloud Monitoring을 사용하여 알림을 설정합니다.

다음 단계

컴퓨팅, 네트워킹, 데이터베이스, 분석 리소스의 성능을 최적화하기 위한 권장사항을 검토합니다.