기존 RAID 어레이에 대한 IOPS를 계산할 때 다음 공식을 사용할 수 있습니다 ( Symantec Connect 에서 IOPS v1.3 중단하기에서 차용 ).
Ieffective = (n * Isingle) / (READ% + (F * WRITE%))
어디:
- 효과적인 IOPS 수입니다
- Isingle은 단일 드라이브의 평균 IOPS 입니다.
- n은 어레이의 디스크 수
- READ %는 디스크 프로파일 링에서 가져온 읽기 비율입니다.
- WRITE %는 디스크 프로파일 링에서 가져온 쓰기의 비율입니다.
F는 RAID 쓰기 패널티입니다 .
RAID Level Write Penalty RAID-0 1 RAID-1 2 RAID-5 4 RAID-6 6 RAID-10 2 RAID-DP 2
공식은 본질적으로 다음의 함수입니다.
- 어레이의 각 개별 드라이브에 대한 IOPS
- 디스크 수 더 많은 디스크는 더 많은 IOPS를 의미합니다
- 각 쓰기 작업에 대한 RAID 패널티.
- RAID5 및 RAID6에는 모든 쓰기 작업에 4 개 이상의 디스크 작업이 필요합니다. 컨트롤러는 블록을 읽은 다음 패리티 데이터를 읽고 (두 작업) 새 패리티 데이터를 계산 한 다음 패리티 블록을 업데이트하고 데이터 블록을 업데이트해야합니다 (두 번 더). RAID6에는 2 개의 패리티 블록이 있으므로 3 개의 읽기와 3 개의 쓰기가 필요합니다. 따라서 RAID5 및 RAID6 어레이는 RAID1보다 적은 IOPS를 수행 할 수 있습니다.
- RAID1 및 RAID10은 미러의 각 디스크에 하나씩 2 개의 쓰기 만 필요합니다.
그리고 분명히, 이것은 모두 이론적 성능 의 추정치 를 제공합니다 . 다양한 컨트롤러와 RAID 방법에는이 중 일부 속도를 높이는 트릭이 있습니다.
RAID5 및 RAID6에 해당하는 ZFS는 RAIDZ 및 RAIDZ2입니다. RAIDZ 어레이에 대한 IOPS를 계산할 때 RAID5 및 RAID6에 사용하는 것과 같은 공식을 사용하거나 ZFS에 쓰기 작업에 필요한 작업 수를 줄이는 특별한 방법이 있습니까?
RAIDZ 어레이의 IOPS를 계산할 때 사용할 다른 공식이 있습니까?