인스턴스 성능

이 페이지에서는 권장 성능 설정 및 테스트 옵션과 함께 Filestore 인스턴스의 성능 한도를 설명합니다.

각 Filestore 서비스 등급은 캐싱 사용, 클라이언트 VM 수, 클라이언트 VM의 머신 유형, 테스트된 워크로드와 같은 요인으로 인해 달라질 수 있는 다양한 수준의 성능을 제공합니다.

다음 표에는 각 서비스 등급의 최소 및 최대 용량을 설정할 때 달성할 수 있는 최대 성능이 나와 있습니다.

모든 표 값은 보장되지 않는 예상 한도입니다. 커스텀 성능 설정 및 한도에 대한 자세한 내용은 커스텀 성능 한도를 참고하세요.

각 서비스 등급의 최소 및 최대 용량의 성능 한도
서비스 등급 용량 읽기 IOPS 쓰기 IOPS 읽기 처리량 (MiBps) 쓰기 처리량 (MiBps) 단일 클라이언트 읽기 처리량 (MiBps) 단일 클라이언트 쓰기 처리량 (MiBps) 커스텀 성능 지원
BASIC_HDD 1TiB~10TiB 600 1,000 100 100 100 100 아니요
10TiB~63.9TiB 1,000 5,000 180 120 180 120
BASIC_SSD 2.5TiB~63.9TiB 60,000 25,000 1,200 350 1,200 350
ZONAL 1TiB 9,200 2,600 260 88 260 88
9.75TiB 89,700 25,350 2,535 858 450 260
10TiB 92,000 26,000 2,600 880 1,600 800
100TiB 920,000 260,000 26,000 8,800 1,600 800
리전 1TiB 12,000 4,000 120 100 120 100
9.75TiB 117,000 39,000 1,170 975 450 260
10TiB 92,000 26,000 2,600 880 1,600 800
100TiB 920,000 260,000 26,000 8,800 1,600 800
ENTERPRISE 1TiB 12,000 4,000 120 100 120 100 아니요
10TiB 120,000 40,000 1,200 1,000 450 260

성능 확장

성능은 이전 표에 나열된 성능 한도 내에서 용량에 따라 선형으로 확장됩니다. 예를 들어 엔터프라이즈 인스턴스 용량을 1TiB에서 2TiB로 두 배로 늘리면 인스턴스의 성능 한도가 12,000/4,000 읽기 및 쓰기 IOPS에서 24,000/8,000 읽기 및 쓰기 IOPS로 두 배로 늘어납니다.

단일 및 소수의 클라이언트 시나리오에서는 최대 NFS 성능을 달성하기 위해 TCP 연결 수를 nconnect 마운트 옵션을 사용하여 늘려야 합니다.

특정 서비스 등급의 경우 클라이언트와 서버 간에 다음 연결 수를 지정하는 것이 좋습니다.

등급 용량 연결 수
리전, 영역 1~9.75TiB nconnect=2
리전, 영역 10~100TiB nconnect=7
Enterprise - nconnect=2
대규모 SSD - nconnect=7

일반적으로 파일 공유 용량이 크고 연결하는 클라이언트 VM의 수가 적을수록 nconnect와의 추가 연결을 지정하여 더 많은 성능을 얻을 수 있습니다.

커스텀 성능

지정된 용량과 관계없이 워크로드 요구사항에 따라 성능을 구성하려면 커스텀 성능을 설정하세요. IOPS/TiB 비율을 지정하거나 고정된 IOPS 수를 설정할 수 있습니다. 자세한 내용은 커스텀 성능을 참고하세요.

GKE 워크로드의 경우 영역 및 리전 등급의 용량과 관계없이 IOPS를 확장할 수 있습니다. VolumeAttributesClass API를 사용하면 다운타임 없이 라이브 볼륨의 IOPS를 동적으로 조정할 수 있습니다. CSI 드라이버를 사용하여 커스텀 성능을 구성하는 방법에 대한 자세한 안내는 커스텀 성능 구성을 참고하세요.

권장 클라이언트 머신 유형

이그레스 대역폭이 16Gbps 이상인 n2-standard-8과 같은 Compute Engine 머신 유형을 사용하는 것이 좋습니다. 이 이그레스 대역폭을 사용하면 클라이언트는 캐시에 적합한 워크로드에서 약 16Gbps의 읽기 대역폭을 달성할 수 있습니다. 추가 컨텍스트는 네트워크 대역폭을 참고하세요.

Linux 클라이언트 마운트 옵션

Linux 클라이언트 VM 인스턴스에서 최상의 성능을 얻으려면 다음 NFS 마운트 옵션, 특히 hard 마운트, async, rsizewsize 옵션을 사용하는 것이 좋습니다. NFS 마운트 옵션에 대한 자세한 내용은 nfs를 참고하세요.

기본 옵션 설명
hard NFS 클라이언트는 NFS 요청을 무제한으로 시도합니다.
timeo=600 NFS 클라이언트는 600데시초(60초) 간격으로 NFS 요청을 다시 시도합니다.
retrans=3 NFS 클라이언트는 NFS 요청을 3회 시도한 후 추가 복구 작업을 수행합니다.
rsize=524288 NFS 클라이언트는 NFS 서버로부터 READ 요청당 최대 524,288바이트를 수신할 수 있습니다.
참고: 기본 등급 인스턴스의 경우 rsize 값을 1048576으로 설정합니다.
wsize=524288 NFS 클라이언트는 WRITE 요청당 NFS 서버에 최대 524,288바이트를 보낼 수 있습니다.
resvport NFS 클라이언트는 이 마운트 지점에 대해 NFS 서버와 통신할 때 권한이 있는 소스 포트를 사용합니다.
async NFS 클라이언트는 특정 조건이 충족될 때까지 NFS 서버에 대한 애플리케이션 쓰기 전송을 지연합니다.
주의: sync 옵션을 사용하면 성능이 크게 저하됩니다.

read_ahead_kb 매개변수로 NFS 읽기 처리량 최적화

NFS read_ahead_kb 파라미터는 순차 읽기 작업 중에 Linux 커널이 미리 가져와야 하는 데이터의 양(킬로바이트)을 지정합니다. 따라서 후속 읽기 요청은 메모리에서 직접 처리되어 지연 시간을 줄이고 전반적인 성능을 개선할 수 있습니다.

Linux 커널 버전 5.4 이상에서 Linux NFS 클라이언트는 기본 read_ahead_kb 값인 128KB를 사용합니다. 순차 읽기 처리량을 개선하려면 이 값을 20MB로 늘리는 것이 좋습니다.

Linux 클라이언트 VM에서 파일 공유를 마운트한 후 다음 스크립트를 사용하여 read_ahead_kb 파라미터 값을 수동으로 조정할 수 있습니다.

mount_point=MOUNT_POINT_DIRECTORY
device_number=$(stat -c '%d' $mount_point)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo 20480 > /sys/class/bdi/$major:$minor/read_ahead_kb"

각 항목의 의미는 다음과 같습니다.

MOUNT_POINT_DIRECTORY는 파일 공유가 마운트된 디렉터리의 경로입니다.

단일 및 다중 클라이언트 VM 성능

Filestore의 확장 가능한 서비스 등급은 단일 클라이언트 VM이 아닌 여러 클라이언트 VM에 맞춰 성능이 최적화되어 있습니다.

영역, 리전, 엔터프라이즈 인스턴스의 경우 전체 성능을 활용하려면 최소 4개의 클라이언트 VM이 필요합니다. 그래야 기본 Filestore 클러스터의 모든 VM이 완전히 활용됩니다.

추가 컨텍스트를 제공하자면 확장 가능한 가장 작은 Filestore 클러스터에는 4개의 VM이 있습니다. 각 클라이언트 VM은 하나의 Filestore 클러스터 VM과만 통신합니다. nconnect 마운트 옵션을 사용하여 지정된 클라이언트당 NFS 연결 수와 관계없이 단일 클라이언트 VM을 사용하는 경우 읽기 및 쓰기 작업은 단일 Filestore 클러스터 VM에서만 실행됩니다.

리소스 전반의 성능 개선 Google Cloud

gcloud CLI를 사용하여 Cloud Storage에서 Filestore 인스턴스로 데이터를 복사하는 것과 같이 여러 Google Cloud 리소스에 걸친 작업은 느릴 수 있습니다. 성능 문제를 완화하려면 다음을 시도해 보세요.

  • Cloud Storage 버킷, 클라이언트 VM, Filestore 인스턴스가 모두 동일한 리전에 있는지 확인합니다.

    이중 리전은 Cloud Storage에 저장된 데이터에 최대한의 성능을 제공하는 옵션입니다. 이 옵션을 사용하는 경우 다른 리소스가 이중 리전에 포함된 단일 리전 중 하나에 있는지 확인합니다. 예를 들어 Cloud Storage 데이터가 us-central1,us-west1에 있는 경우 클라이언트 VM과 Filestore 인스턴스가 us-central1에 있는지 확인합니다.

  • 참고용으로 영구 디스크 (PD)가 연결된 VM의 성능을 확인하고 Filestore 인스턴스의 성능과 비교합니다.

    • Filestore 인스턴스와 비교할 때 PD 연결 VM의 성능이 비슷하거나 느리면 Filestore와 관련 없는 성능 병목 현상이 나타날 수 있습니다. Filestore가 아닌 리소스의 기준 성능을 개선하려면 동시 복합 업로드와 연결된 gcloud CLI 속성을 조정하면 됩니다. 자세한 내용은 도구 및 API에서 동시 복합 업로드를 사용하는 방법을 참고하세요.
    • Filestore 인스턴스의 성능이
      PD 연결 VM보다 상당히 느리면 작업을 여러 VM에 분산해 보세요.

    • 이렇게 하면 Cloud Storage의 읽기 작업 성능이 개선됩니다.

    • 영역, 리전, 엔터프라이즈 인스턴스의 경우 전체 성능을 활용하려면 최소 4개의 클라이언트 VM이 필요합니다. 그래야 기본 Filestore 클러스터의 모든 VM이 완전히 활용됩니다. 자세한 내용은 단일 및 다중 클라이언트 VM 성능을 참고하세요.

다음 단계