본문 바로가기
IT/Linux_리눅스

[Linux / dd] 리눅스 dd 명령어로 I/O 성능 테스트, 리눅스 읽기/쓰기 성능 테스트 하기

by 능보테 2023. 2. 2.
728x90
반응형

[Linux / dd] 리눅스 dd 명령어로 I/O 성능 테스트, 리눅스 읽기/쓰기 성능 테스트 하기

 


 

1. dd 명령어

dd 명령어는 리눅스의 파일시스템에서 블록 단위로 파일을 복사하거나 변환할 수 있는 명령어입니다.

아래의 dd 명령어의 옵션들을 보면 conv와 같이 변환할 형식이나 count 같이 블록 단위를 지정할 수 있는 옵션이 있습니다.

dd --help

 

그렇지만 실제로 dd 명령어는 디스크의 I/O 속도를 측정할 때, 디스크가 가진 읽기/쓰기 성능을 측정할 때 자주 사용됩니다. 

 

728x90

 

2. dd 명령어를 이용하여 I/O 성능 측정

df -h

df -h 로 현재 파일 입출력을 확인할 위치를 확인합니다. 

현재 루트 디렉토리 '/'로 사용하고 있는 /dev/mapper/ubuntu--vg-ubuntu--lv 에서 진행하겠습니다. (VirtualBox VM)

 


 

쓰기(Write) 속도 테스트

dd if=/dev/zero bs=1M count=1024 of=writetest_file oflag=direct

위의 명령어에서 쓰인 옵션을 살펴보자면

if : 입력 파일, /dev/zero의 경우 리눅스 특수파일로 파일 내용을 0x00 로 채워줌

of : 출력파일, /dev/null의 경우 리눅스 특수파일로 파일로 존재하지만 실제로는 아무것도 없는, 주로 리다이렉션으로 무언가 버릴 때 사용.
bs:  한번에 읽고 쓸 파일크기 - 1MB
count: 입출력을 반복할 횟수 - 1MB를 1024 반복하므로 1GB를 쓸 때까지 반복

oflag: 는 캐시를 사용하지않고 직접 Read/Write

 

dd if=/dev/zero bs=1M count=1024 of=writetest_file oflag=direct

명령어를 실행하면 잠깐의 시간이 지난 후 결과가 나타납니다. 

1GB가 copied 되었고 237MB/S 가 나오네요.

 

 


읽기(Write) 속도 테스트

이번에는 위의 쓰기 테스트에서 쓰인 파일을 읽기 테스트로 측정해보겠습니다. 

파일의 내용을 /dev/null로 버리는 형태로 읽기 테스트가 진행됩니다. 

dd if=writetest_file of=/dev/null bs=1024

 

dd if=writetest_file of=/dev/null bs=1024

1GB가 읽어졌고 286MB/S 의 속도가 측정되었습니다. 

 


본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.

인용 시 출처와 같이 공개해주세요!

도움이 되셨다면 댓글 또는 공감 부탁드립니다!

728x90
반응형

댓글