DD 명령을 이용하여, 지정한 데이터를 읽거나, 파일을 생성하는 과정을 통해 디스크의 읽기 또는 쓰기 성능을 측정할 수 있다.
읽기 성능 측정
임의의 파일을 지정하여 읽어 들이고 파일을 모두 읽어 들이는 데 까지 시간을 측정하는 것으로 읽기 성능을 측정한다. 10GB 크기의 파일을 읽는데 10초가 걸렸다면 1GB/1sec 의 읽기 속도가 된다. 단, 지정된 block size 에 따라 속도의 차이가 날 수 있으므로, bs를 변경하면서 반복적으로 측정해야 한다.
※ 한번 읽었던 파일은 캐싱됐을 수 있으니 파일을 바꾸거나 하면서 테스트 하는 편이 좋다.
# dd if="source 파일" of="target 장치" bs="읽을 때 블록 크기" # /dev/null은 null을 출력하는 디바이스, /dev/zero는 zero를 출력하는 디바이스 [haedong@haedong:~]$ dd if=source_file.iso of=/dev/null bs=1024 204800+0 records in 204800+0 records out 209715200 bytes (210 MB) copied, 1.87625 s, 112 MB/s
쓰기 성능 측정
0을 출력하는 /dev/zero 등의 디바이스를 이용하여 지정한 크기의 파일을 생성하는 시간을 측정한다. 읽기 성능 측정과 방식은 크게 다르지 않다.
# dd if="source 파일" of="target 파일" bs="읽을 때 블록 크기" count="블록 숫자 : 블록사이즈*카운트 만큼의 파일이 생성된다" # 0으로 채워지는 파일을 생성하는 시간을 측정 [haedong@haedong:~]$ dd if=/dev/zero of=target_file.dd bs=1MB count=1024 1024+0 records in 1024+0 records out 1024000000 bytes (1.0 GB) copied, 1.20202 s, 852 MB/s