IOPS 계산법
초당 데이터 전송량 = IOPS * 블록크기
or
IOPS = 초당 데이터 전송량 / 블록크기
볼록크기(Block Size) 확인 방법
Linux
파일시스템이 xfs의 경우
"xfs_info /dev/sda2" 의 명령어로 "bsize=4096" 을 확인 할수 있다.(단위는 byte)
# xfs_info /dev/sda2
meta-data=/dev/sda2 isize=512 agcount=9, agsize=6422464 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=51904251, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=12543, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
파일시스템이 ext4의 경우
"tune2fs -l /dev/sda1" 의 명령어로 "Block size: 1024"을 확인 할 수 있다.(단위는 byte)
# tune2fs -l /dev/sda1
tune2fs 1.42.9 (4-Feb-2014)
F...
Filesystem OS type: Linux
Inode count: 48768
Block count: 194560
Reserved block count: 9728
Free blocks: 146986
Free inodes: 48470
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2032
Inode blocks per group: 254
RAID stride: 4
...
Inode size: 128
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: b670d36b-18f5-4a69-8c4b-2a21284e5a5c
Journal backup: inode blocks
windows
powershell에서
> Get-wmiObject -Class win32_volume | Select-object Label, BlockSize | Format-Table –AutoSize
Label BlockSize
----- ---------
4096
4096
새 볼륨 4096
cmd에서
"fsutil fsinfo ntfsinfo c:" 명령어로 "클러스터 당 바이트 : 4096 (4 KB)" 을 확인할 수 있다.
>fsutil fsinfo ntfsinfo c:
NTFS 볼륨 일련 번호 : 0x54e2d949e2d92fca
NTFS 버전 : 3.1
LFS 버전 : 2.0
총 섹터 : 998,302,584 (476.0 GB)
전체 클러스터 : 124,787,823 (476.0 GB)
무료 클러스터 : 103,917,421 (396.4 GB)
전체 예약 클러스터 : 1,177,984 ( 4.5 GB)
저장소 예약을 위해 예약됨 : 1,167,165 ( 4.5 GB)
섹터 당 바이트 : 512
실제 섹터 당 바이트 : 4096
클러스터 당 바이트 : 4096 (4 KB)
FileRecord 세그먼트 당 바이트 : 1024
FileRecord 세그먼트 당 클러스터 : 0
Mft 유효한 데이터 길이 : 836.75 MB
Mft 시작 Lcn : 0x00000000000c0000
Mft2 시작 Lcn : 0x0000000000000002
Mft 구역 시작 : 0x0000000001bf7ba0
Mft 영역 끝 : 0x0000000001c02c00
MFT 영역 크기 : 176.38 MB
최대 장치 자르기 익스텐트 수 : 256
최대 장치 자르기 바이트 수 : 0xffffffff
최대 볼륨 자르기 익스텐트 수 : 62
최대 볼륨 자르기 바이트 수 : 0x40000000
리소스 관리자 식별자: 88936A45-387E-11ED-BF3C-AFECC85C093D
SSD의 IOPS 계산
SSD 스펙으로 IOPS 계산
삼성전자 870 QVO (500GB) 제품을 기준으로 스펙은 아래와 같다.
순차읽기 : 560MB/s
순차쓰기 : 530MB/s
읽기IOPS : 98K
쓰기IOPS : 88K
순차 읽기 속도와 Linux 4K 블록 크기를 가지고 IOPS를 계산 했을때
IOPS = 560MB/s / 4K = 140K IOPS
순차 쓰기 속도와 Linux 4K 블록크기를 가지고 IOPS를 계산 했을때
IOPS = 530MB/s / 4K = 132.5K IOPS
읽기 IOPS와 Linux 4K 블록크기를 가지고 초당 데이터 전송량을 계산 했을때
초당 데이터 전송량 = 98K * 4 = 382.8125MB/s
쓰기 IOPS와 Linux 4K 블록크기를 가지고 초당 데이터 전송량을 계산 했을때
초당 데이터 전송량 = 88K * 4 = 343.75MB/s
실제 OS 상에서 초당 전송속도를 기준으로 IOPS 계산
Linux 4K 에서 1.02GB 의 데이터를 복사하는데 아래와 같은 결과가 나왔다.
sent 1.02G bytes received 35 bytes 226.78M bytes/sec
IOPS를 계산해보면
IOPS = 226.78MB/s / 4K = 56695 IOPS
참고
블록사이즈가 클수록
전송속도 ↑
디스크 공간 가용성 ↓
블록사이즈가 작을 수록
전송속도 ↓
디스크 공간 가용성 ↑
'OS > Linux' 카테고리의 다른 글
DRBD 구축 해보기 (0) | 2024.02.19 |
---|---|
[LetsEncrypt] certbot을 이용한 SSL 인증서 발급(standalone, txt dns 레코드(dns challenge)) (0) | 2024.02.01 |
jq filter를 이용한 json 출력하기 (1) | 2024.01.05 |
Proxmox 환경 VM(CentOS7) 디스크 LVM 사이즈 증가 (0) | 2023.11.30 |
linux(CentOS7) python 개발 환경 vim 설정 (1) | 2023.10.25 |