728x90
디스크의 읽기/쓰기 속도를 측정하는 방법
리눅스 환경에서는 다양한 도구를 이용하여 디스크의 읽기/쓰기 속도를 측정할 수 있습니다.
1. dd 사용
dd는 리눅스에서 사용 가능한 유틸리티로 파일 복사 등 다양한 용도로 사용됩니다. dd를 이용하여 디스크의 읽기/쓰기 속도를 측정할 수 있습니다.
쓰기 속도 테스트
dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct
$ dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 7.81464 s, 137 MB/s
위 명령어는 1GB 크기의 파일을 생성하면서 쓰기 속도를 측정합니다.
- if=/dev/zero : 입력으로 0이 채워진 파일을 사용
- of=/tmp/testfile : /tmp 디렉토리에 파일 생성
- bs=1G : 블록 크기를 1GB로 지정
- count=1 : 한 번만 실행
- oflag=direct : 커널 캐시를 사용하지 않도록 설정하여 실제 디스크 성능을 측정
읽기 속도 테스트
dd if=/tmp/testfile of=/dev/null bs=1G count=1 iflag=direct
$ dd if=/tmp/testfile of=/dev/null bs=1G count=1 iflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.906793 s, 1.2 GB/s
위 명령어는 생성된 파일을 읽으면서 읽기 속도를 측정합니다.
** 주의 : dd는 간단한 테스트에 유용하지만 실제 워크로드를 반영하지는 않기 때문에 성능이 왜곡될 수 있습니다.
2. hdparm 사용
hdparm은 디스크의 버퍼드, 비버퍼드 읽기 속도를 테스트하는 도구입니다. 주의할 점은 이 도구가 쓰기 테스트는 지원하지 않는다는 점입니다.
sudo hdparm -Tt /dev/sda
$ sudo hdparm -Tt /dev/sda
/dev/sda:
Timing cached reads: 21072 MB in 1.99 seconds = 10589.18 MB/sec
Timing buffered disk reads: 1266 MB in 3.00 seconds = 421.84 MB/sec
- -T : 디스크 캐시 성능을 테스트
- -t : 실제 디스크의 읽기 속도를 테스트
- /dev/sdX : 테스트할 디스크 장치
** 주의 : hdparm은 디스크 장치에 직접 접근하여 속도를 측정하므로 운영체제의 캐싱 영향을 받지 않습니다.
3. fio 사용
fio는 다양한 I/O 패턴으로 디스크 성능을 테스트할 수 있는 강력한 벤치마크 도구입니다. 실제 워크로드와 비슷한 환경을 시뮬레이션할 수 있습니다.
쓰기 속도 테스트
fio --name=write_test --filename=/tmp/testfile --size=1G --bs=4k --rw=write --iodepth=64 --numjobs=4 --direct=1
읽기 속도 테스트
fio --name=read_test --filename=/tmp/testfile --size=1G --bs=4k --rw=read --iodepth=64 --numjobs=4 --direct=1
- --name=write_test : 작업 이름을 write_test로 지정
- --filename=/tmp/testfile : 테스트할 파일
- --size=1G : 테스트 파일 크기
- --bs=4k : 블록 크기
- --rw=write 또는 --rw=read : 읽기 또는 쓰기 작업 선택
- --iodepth=64 : 요청 깊이 설정
- --numjobs=4 : 작업 수 (스레드 수)
- --direct=1 : 캐시를 사용하지 않음
** 참고 : fio는 다양한 I/O 시나리오와 설정을 통해 실제 사용 환경에 가까운 벤치마크를 수행할 수 있습니다.
dd, hdparm, fio 등 다양한 도구를 이용하여 디스크의 읽기/쓰기 속도를 측정할 수 있습니다.
728x90
'리눅스' 카테고리의 다른 글
[리눅스] dd 명령을 사용하여 디스크의 읽기/쓰기 속도를 측정하는 방법 (0) | 2023.04.05 |
---|---|
[draft] dd 명령어 (0) | 2023.04.05 |
HP hpasmcli 명령으로 HT(hyper-threading) 활성화 여부 확인 (0) | 2023.04.03 |
[draft] lsof 명령어 (0) | 2023.04.03 |
mail 명령어 (0) | 2023.03.31 |