• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

리눅스에서 fio를 이용한 디스크 벤치마크하기

달소 달소 486

2

6

 

안녕하세요. 달소입니다.

 

이번글에서는 Flexible I/O tester 라고 불리우는 fio를 이용해서 디스크의 i/o를 벤치마크해보도록 하겠습니다.

쉽게 말씀드리자면 디스크 성능 측정 프로그램 으로 순차/랜덤 읽기/쓰기 IOPS 측정 등을 도와줍니다.

 

윈도우에서는 Crystal Disk Mark같은 툴이되겠네요.

 

설치하기

 

fio자체는 리눅스 패키지에 기본적으로 설치되어있지 않기때문에 리눅스 환경에 따라서 아래처럼 설치해주시면됩니다.

 

Ubuntu - apt install fio
Cent OS - yum install fio

 

image.png.jpg

 

fio 사용방법 

fio의 경우 사용방법이 꽤나 복잡한 편입니다. 

사용방법에 대해서는 참조의 공식문서나 위키를 참고하시는편이 좋습니다 ㅠ

 

순차 읽기

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4M --iodepth=64 --size=4G --readwrite=read --ramp_time=4

image.png.jpg

 

 

순차 쓰기

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4M --iodepth=64 --size=4G --readwrite=write --ramp_time=4

image.png.jpg

 

랜덤 읽기(4k IOPS)

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=4k --iodepth=64 --size=1G --readwrite=randread

image.png.jpg

 

랜덤 쓰기(4k IOPS)

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_write.fio --bs=4k --iodepth=64 --size=1G --readwrite=randwrite

image.png.jpg

 

랜덤 읽기/쓰기(4k IOPS)

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=1G --readwrite=randrw --rwmixread=75

 

image.png.jpg

 

벤치마크가 끝나면 생성도니 임시파일들을 삭제해주시면됩니다.

 

image.png.jpg

 

 

참고 : https://blog.kerus.net/2050/fio-i-o-performance-test-sequntial-iops

https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_fio

https://fio.readthedocs.io/en/latest/fio_doc.html

 

신고공유스크랩
6
profile image
달소 글쓴이 2022.05.12. 11:20
지찬공

Proxmox에서 nvme ssd(ZFS1)를 사용했을때와 HDD(ZFS1)를 사용했을때의 벤치마크 테스트를 하고자 하는데

실례가 안된다면 지찬공님은 어떤환경에서 Proxmox를 구성하고계신지 알수있을까요??(SSD/HDD 등등)

 

지찬공님께서 올려주신 Proxmox/Xpenol 을 보고 Proxmox로 넘어온터라 가르침이 필요합니다 ㅎㅎㅎㅎ

지찬공 2022.05.12. 12:13
달소

T.T 달소님께서 참조할 만한 내용은 별로 없습니다. 사유는 회사에서는 Enterprise 스토리지 환경이며, ZFS 는 2TB 12대 이상디스크 및 RAID Card 2대 를 HP 서버 사용 중이기 때문입니다.

 

참고로 집에서는 PC 2대를 사용 중이며, Main으로는 Native Xpenology 1대 (TS140 Cache(SSD) + HDD ), 거의 테스트 환경으로 Proxmox ( Windows, Xpenology , Ubuntu .. Linux ) LVM SSD + HDD Layer로 간단히 사용 중입니다.

 

ZFS 구성시 SSD 와 HDD 의 밴치마크는 디스크 구성 갯수에 따라 차이가 많이 날 수 있으며, SSD 와 HDD 의 비교는 별 의미가 없다고 생각이 듭니다. 이유는 성능차이가 많이 SSD 가 좋습니다.

또한 ZFS 는 성능 및 확장에 장점이 있지만, 백업 및 복원에서도 큰 장점이 있습니다.

 

혹시 디스크 성능때문에 고민이라면,

1. RANDOM 성능이 필요한 영역은 DB 입니다. 즉 SSD 는 DB 영역만 으로 사용하고

2. 기타 영역은 순차 쓰기 만 중요합니다. 즉 HDD 로 사용으로도 충분합니다.

 

참조가 되셨으며 좋겠습니다. ^^

 

profile image
달소 글쓴이 2022.05.12. 13:06
지찬공

우오.. 이렇게 상세한 답변이라니..! 감사합니다!

많은 가르침이 되었습니다 참고해서 운영해보겠습니다~

2등
FocalFossa 2022.10.31. 10:46

iozone 테스트만 진행해봤었는데

달소님 가이드 따라서 fio도 해봐야겠네요 좋은자료 감사합니다.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

등록된 글이 없습니다.