반응형

 

SSD, HDD, 또는 Cloud Infra에서 제공하는 가상 Storage의 IOPS 성능이 궁금할 때,
fio 명령을 사용하면 쉽게 IOPS 측정 결과를 얻을 수 있다.

$ sudo apt install fio

## fio 명령 옵션 설명
##  --numjobs=8   8개의 쓰레드가 동시에 I/O 테스트 실행. 생성되는 파일도 8개.
##  --size=1G     각 테스트용 파일의 크기
##  --runtime=10  10초 동안 테스트

## 10초 동안
$ fio --directory=/home/sejong/fio --name fio_test_file \
        --direct=1 --rw=randwrite --bs=4K --size=1G \
        --numjobs=8 --time_based --runtime=10 \
        --group_reporting --norandommap --rwmixread 30
        
... 중간 생략 ...

Jobs: 8 (f=8): [w(8)][100.0%][w=1924MiB/s][w=493k IOPS][eta 00m:00s]
fio_test_file: (groupid=0, jobs=8): err= 0: pid=3313523: Wed Aug 23 15:20:07 2023
  write: IOPS=466k, BW=1822MiB/s (1910MB/s)(17.8GiB/10001msec); 0 zone resets
    clat (usec): min=10, max=6785, avg=16.77, stdev=25.55
     lat (usec): min=10, max=6786, avg=16.84, stdev=25.55
    clat percentiles (usec):
     |  1.00th=[   12],  5.00th=[   13], 10.00th=[   14], 20.00th=[   14],
     | 30.00th=[   15], 40.00th=[   16], 50.00th=[   16], 60.00th=[   17],
     | 70.00th=[   18], 80.00th=[   19], 90.00th=[   20], 95.00th=[   22],
     | 99.00th=[   27], 99.50th=[   30], 99.90th=[  103], 99.95th=[  120],
     | 99.99th=[ 1532]
   bw (  MiB/s): min= 1628, max= 1953, per=99.78%, avg=1817.71, stdev=12.47, samples=152
   iops        : min=416986, max=500024, avg=465333.05, stdev=3191.37, samples=152
  lat (usec)   : 20=90.35%, 50=9.49%, 100=0.06%, 250=0.08%, 500=0.01%
  lat (usec)   : 750=0.01%, 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=0.01%
  cpu          : usr=4.28%, sys=29.64%, ctx=4664591, majf=0, minf=115
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,4663934,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=1822MiB/s (1910MB/s), 1822MiB/s-1822MiB/s (1910MB/s-1910MB/s), io=17.8GiB (19.1GB), run=10001-10001msec

Disk stats (read/write):
  nvme0n1: ios=0/4613003, merge=0/103199, ticks=0/55894, in_queue=56493, util=99.15%
  
$
반응형

 


 


테스트한 날짜:  2023년 2월 20일

 

 

 

DD 명령으로 Storage I/O 성능 확인

 

############################################################################
## 쓰기(output) 성능 확인
############################################################################

## Case: 저장 장치의 Cache memory(즉, Buffer memory)를 사용하는 경우
$ dd if=/dev/zero bs=1024 count=5000 of=/mnt/hdd1/my_test_file
5000+0 records in
5000+0 records out
5120000 bytes (5.1 MB, 4.9 MiB) copied, 0.0113672 s, 450 MB/s
$

## Case: 저장 장치의 Cache memory(즉, Buffer memory)를 사용하지 않는 경우,
##       oflag=direct  옵션을 추가한다.
$ dd if=/dev/zero bs=1024 count=5000 of=/mnt/hdd1/my_test_file oflag=direct
5000+0 records in
5000+0 records out
5120000 bytes (5.1 MB, 4.9 MiB) copied, 0.23691 s, 21.6 MB/s


############################################################################
## 읽기(input) 성능 확인
############################################################################

$ dd if=/mnt/hdd1/my_test_file of=/dev/null bs=1024
5000+0 records in
5000+0 records out
5120000 bytes (5.1 MB, 4.9 MiB) copied, 0.0123259 s, 415 MB/s
$

 

 


 

반응형

 


 

 


블로그 작성 & 테스트한 날짜: 2023년 2월 1일

 

아래 명령 순서를 따라하면, 추가 장착한 disk를 filesystem에 마운트할 수 있다.

 

$  sudo -s

##
## 아래 예제는 /dev/sdb 을 추가로 mount한다고 가정하고 설명하겠다.
##

$  fdisk /dev/sdb

## NOTE  대화형 명령 화면에서 /dev/sdb1 파티션을 생성한다.
## (캡처한 화면이 없어서 자세한 설명은 생략함)



$  fdisk -l

... 중간 생략 ...

Disk /dev/sdb: 232.91 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 750
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa8eab75b

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdb1        2048 488396799 488394752 232.9G 83 Linux

... 중간 생략 ...

##
##  새로 장착한 저장 장치를 sdb라고 가정하면, 아래와 같이 ext4 파일 시스템으로 format한다.
##
$  mkfs -t ext4 /dev/sdb1

$  lsblk -f

... 중간 생략 ...

sdb
└─sdb1 ext4     SSD_250G ad6fe291-e588-4376-8638-c4d782e833f8  146.2G    31% /ssd2

... 중간 생략 ...



##
## 마운트 대상 directory를 생성
##
$  mkdir /ssd2

##
## /dev/sdb1 파티션을 /ssd2에 마운트하기
##
$  mount /dev/sdb1 /ssd2

$  df -h /ssd2
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       229G   71G  147G  33% /ssd2

$

 

OS 부팅할 때, volume mount할 수 있도록 /etc/fstab 에 mount 정보를 추가한다.

 

$ ls -lh /dev/disk/by-uuid

total 0
lrwxrwxrwx 1 root root 10 Jan 30 04:41 51234567-1234-1234-abcd-abcdef123456 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Jan 30 04:41 51234567-1234-1234-abcd-abcdef123457 -> ../../sda2

$  cat /etc/fstab

... 중간 생략 ...

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/disk/by-uuid/51234567-1234-1234-abcd-abcdef123456 /         ext4  defaults  0  1
/dev/disk/by-uuid/51234567-1234-1234-abcd-abcdef123457 /mnt/hdd0 ext4  defaults  0  0
/swap.img                                              none      swap  sw        0  0

$

'Ubuntu' 카테고리의 다른 글

PCI passthrough on Ubuntu + KVM  (0) 2022.01.12
rc.local 활성 설정 (Ubuntu, CentOS)  (0) 2021.12.28
Root 계정의 SSH 로그인 허용  (0) 2021.12.28
Install BIND for name server(DNS) on Ubuntu 22.04  (0) 2021.11.05
openssl command example  (0) 2021.11.04

+ Recent posts