• SSD(Solid-State Drive) — 주요 성능 특성이 IOPS인 작은 I/O 크기의 읽기/쓰기 작업을 자주 처리하는 트랜잭션 워크로드에 최적화되어 있습니다.
  • HDD(Hard Disk Drive) — 주요 성능 특성이 처리량인 대규모 스트리밍 워크로드에 최적화되어 있습니다.

SSD(Solid-State Drive)

범용 SSD(General Purpose SSD) : 99.8%~99.9% 의 내구성을 가지며, 지연 시간이 짧은 대화형 앱 또는 개발/테스트 환경에 적합

Provisioned IOPS SSD : io2, io2Block Express타입의 경우 99.999% 내구성을 가지며, 지속적으로 빠른 IOPS가 요구되는 데이터베이스 환경에 적합

보다 견고한 내구성이 필요한 경우 io2 타입을 선택하는게 좋으며, io2Block Express의 경우 보다 향상된 성능을 확인 할 수 있지만 아직 평가판이라 조금더 검증이 필요할 것으로 보임.

HDD(Hard disk Drive)

처리량 최적화 HDD : 99.8%~99.9%의 내구성을 가지며, 처리량이 많은 '빅 데이터', '데이터 웨어하우스', '로그 처리' 등의 형태로 사용하기에 적합

콜드 HDD : 99.8%~99.9%의 내구성을 가지며, 자주 엑세스 하지 않으며 스토리지 비용을 최소화 하고 싶은 형태로 사용하기에 적합

참고 : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ebs-volume-types.html#EBSVolumeTypes_piops

 

Amazon EBS 볼륨 유형 - Amazon Elastic Compute Cloud

이제 us-east-1, us-west-2, us-east-2, eu-central-1, ap-southeast-1 및 ap-northeast-1에서 io2 Block Express 볼륨 평가판에 옵트인할 수 있습니다. 옵트인하면 옵트인 리전의 계정에서 생성한 모든 io2 볼륨이 io2 Block Exp

docs.aws.amazon.com

EC2 : AWS 가상 컴퓨터를 의미하며, C5, C5n, C5a 타입을 제공

- 일반적으로 C5 타입을 선택하며, 필요 스펙에 따라 c5.large ~ c5.24xlarge 에서 선택.

- 위 모델은 스토리지를 EBS 전용의 리모드 형태로 제공됨

- 보다 스토리지 성능을 올리기 위해서 c5d 타입( c5d.xlarge ~ cd5.xlarge )을 선택하면 로컬 NVMe 기반 SSD가 호스트 서버에 물리적으로 연결된 형태로 운영 가능

- C5n 타입의 경우 보다 네트워크 대역폭을 넓게 사용가능

- C5a 타입의 경우 C5타입 대비 성능이 조금 낮지만 보다 저렴한 비용으로 운영 가능

참고 : https://aws.amazon.com/ko/ec2/instance-types/c5/

 

Amazon EC2 C5 인스턴스 – Amazon Web Services(AWS)

C5a 및 C5ad 인스턴스는 광범위한 컴퓨팅 집약적 워크로드 세트에 최고의 x86 가격 대비 성능을 제공하고, 효율성 향상을 위해 7nm 프로세스 노드에 구축된 2세대 3.3GHz AMD EPYC 7002 시리즈 프로세서를

aws.amazon.com

 

[SQL Server 성능 최적화를 위한 Disk 설정]

  • 최소 2 개의 PREMIUM SSD 디스크 를 사용 (로그 파일용 1 개, 데이터 파일용 1 개).
    • HDD 및 표준 SSD의 경우 안정성 확보가 힘들기 때문에 메인 DB의 경우 프리미엄 SSD (필수)
    • 보다 안정적인 서비스를 위해 OS 영역도 프리미엄 SSD를 사용 (권장)
  • 프리미엄 SSD의 경우 Disk 캐시 설정을 한다 ( HDD, 표준 SSD의 경우 캐시 설정을 하지 않음)
    • 데이터 파일을 처리하는 디스크의 경우 읽기 전용 캐시를 사용 하도록 설정 (필수)
    • 로그 파일을 처리하는 디스크의 경우 캐시를 사용하지 않는다 (필수)
    • OS 영역의 디스크를 프리미엄 SSD로 구성한 경우 읽기/쓰기 캐시를 사용 (권장)
  • 운영체제 디스크에 데이터 및 로그 파일을 지정하지 않음
  • 임시 디스크(D:)에 데이터 및 로그 파일을 지정하지 않음
    • 임시 디스크의 경우 재부팅이 되는경우 데이터가 모두 삭제됨.
    • 임시 디스크의 경우 SSD를 사용하기 때문에 만약 프리미엄 SSD를 사용하지 않는 경우 tempDB를 위치 시키면 성능 향상에 도움이 됨.
    • tempDB를 임시 디스크에 사용하는 경우 재부팅시 파일 및 모든 디렉토리가 삭제 되기 때문에, 별도 디렉토리를 생성하지 않고 tempDB 위치를 지정해야함.
    • MSSQL을 실행시키는 계정이 임시 디스크 사용 권한이 없는 경우 DB 실행이 되지 않을 수 있음.
  • 데이터 처리량을 늘리기 위해서 데이터 디스크를 스트라이핑 하여 분산 처리
  • 최고 성능을 위해서는 울트라 SSD를 사용
  • NTFS 할당 단위 크기: 데이터 디스크를 포맷할 때 TempDB뿐만 아니라 데이터 및 로그 파일에 대해 64KB 할당 단위 크기를 사용하는 것이 좋습니다. (MSSQL 공간 관리 기본 단위(extents)로 설정)

[디스크 타입별 정리]

타입 표준 프리미엄 설명
OS HDD
캐싱 정책 Read/Write
프리미엄 SSD
캐싱 정책 Read/Write
- Default가 운영 체제 형식(캐싱 정책 : 읽기/쓰기) 이지만, 성능이 중요한 애플리캐이션의 경우 운영 체제 디스크 형식 대신 데이터 디스크 형식을 사용하는것이 좋음.
D: - Temp TempDB(MSSQL) - - D 시리즈, Dv2 시리즈 및 G 시리즈 VM의 경우 이러한 VM의 임시 드라이브는 SSD를 기반으로 사용
- TempDB가 과도하게 사용될 경우(예: 임시 개체 또는 복잡한 조인) D 드라이브에 TempDB를 저장하면 TempDB 처리량은 더 높아지고 TempDB 대기 시간은 줄어들 수 있습니다.
Data 표준 SSD
캐싱 정책 : None
프리미엄 SSD
캐싱 정책 : Read
TempDB(MSSQL)
- 프리미엄 SSD를 지원하는 VM(DS 시리즈, DSv2 시리즈 및 GS 시리즈)의 경우 읽기 캐싱이 사용되는 프리미엄 SSD를 지원하는 디스크에 TempDB를 저장하는 것이 좋습니다.
- 프리미엄 SSD를 사용하지 않는 경우 데이터 디스크에서 캐싱을 사용하지 않는게 좋음
Log HDD
캐싱 정책 : None
프리미엄 SSD
캐싱 정책 : None
- 로그와 같이 쓰기 워크로드가 대량으로 있는 경우 캐싱을 사용하지 않을 때 성능이 향상됨.
Backup HDD
캐싱 정책 : None
HDD
캐싱 정책 : None
- 로그와 같이 쓰기 워크로드가 대량으로 있는 경우 캐싱을 사용하지 않을 때 성능이 향상됨.

※ 참고 자료 : https://docs.microsoft.com/ko-kr/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-performance


to Top