리눅스

리눅스 I/O테스트

kim-jiyoung 2022. 10. 25. 20:01

https://hbase.tistory.com/21

 

서버 디스크의 입출력 성능을 테스트할때

사용하는 명령어이다.

 

df -h

먼저 디스크가 어떻게 있는지 확인하여,

어느 디스크를 측정할 것인지 알아봐야한다.

 

df 명령어를 사용하면 마운트 되어있는 디스크들을 확인할 있다.

 

여기서 나는 /ora19 테스트 해보도록 하겠다.

 

 

1.쓰기 성능 테스트

가장 간단하게 실행해볼 있는 dd명령을 이용한 방법입니다. dd 명령은 유닉스 계열 운영체제에서 사용하는 명령으로 파일을 복사하고 변환하는데 사용하는 커맨드라인 유틸리티다. dd 명령을 이용하면 입출력(I/O) 대한 성능 측정을 있다.

 

dd if=/dev/zero bs=1024 count=1000 of=/ora19/test_file oflag=direct

 

dd명령의 if 옵션과 of 옵션은 각각 입력파일(inputFile) 출력파일(OutputFile) 의미한다. dd명령의 입력파일로 /dev/zero 파일은 리눅스에서 제공하는 특수파일로 사용자가 원하는 만큼 0x00 바이트를 채워준다. 0x00으로 가득찬 파일을 읽어서 /data1/test_file 쓰라는 의미의 명령이다. 명령 수행이 종료된 다음 /data1/test_file 열어보면 0x00으로 가득찬 파일을 있다.

 

dd 명령의 count 몇번의 입출력을 수행할지를 의미한다. 결국 생성되는 파일의 크기는 bs*count 된다.

dd 명령의 oflag test_file 사용할 file flag 의미한다. oflag=direct O_DIRECT 플래그를 켜고 write() 호출을 하게 된다. O_DIRECT 플래그를 이용하면 파일시스템의 캐시 영역을 사용하지 않고 바로 디스크로 쓰게 된다. 따라서 디스크 입출력 성능을  측정할 반드시 필요하다.

dd 명령이 종료되면 디스크 쓰기 성능을 있다.

 

2.읽기 성능 테스트

읽기 성능은 if of 살짝 변경해서 측정할 있다.

dd if=/ora19/test_file of=/dev/null bs=1024

 

dd 명령의 if, of옵션의 의미는 동일하다. of옵션에 사용한 /dev/null 파일은 리눅스에서 제공하는 특수 파일이다. 파일을 of 옵션으로 주면 읽은 데이터를 그냥 버리겠다는 의미다. (순수 읽기 성능만 수행)

 

 

dd명령의 bs 한번에 읽을 Block Size 의미하며, count 옵션을 주지않았기 때문에 파일 전체를 읽어들인다.