하드 디스크 테스트 실행

몇 가지 진단 방법을 실행하고 이를 사용하여 하드웨어 인프라가 적절한 형태인지 확인하는 방법을 배웁니다. Linux®에서 hdparmdd 명령 또는 Bonnie++애플리케이션을 사용하여 하드 디스크 읽기 및 쓰기 비율을 판별할 수 있습니다. 평균 디스크 사용을 판별하는 데에는 iostat 명령을 사용합니다.

hdparm 명령을 사용하여 읽기 비율 판별

Linux 운영 체제에는 하드 디스크 읽기 비율을 판별하는 데 사용할 수 있는 내장 hdparm 명령이 있습니다.

프로시저

Linux 콘솔에서 hdparm -t path_to_the_test_file 를 입력하십시오.
hdparm -t /dev/sda1
Timing buffered disk reads: 200 MB in 1.19 seconds = 167.47 MB/sec

DD 애플리케이션으로 디스크 테스트 실행

이 태스크에 대한 정보

DD 테스트는 대규모 순차 쓰기와 대규모 순차 읽기가 차례로 수행되는 가장 기본적인 단일 스레드 디스크 액세스를 측정합니다. 이 테스트는 대형 테이블을 순차 스캔할 때 최대 속도를 제공하므로 데이터베이스 성능 테스트 작업과 관련이 있습니다.
참고: DD 테스트를 올바르게 실행하고 테스트 결과를 왜곡할 수 있는 파일 시스템 캐싱을 방지하려면 테스트 컴퓨터에서 RAM 크기를 확인하십시오.

프로시저

  1. 테스트 컴퓨터 RAM 용량의 두 배인 파일을 작성하여 대상 컴퓨터 하드 디스크에 복사하십시오.

    License Metric Tool 이 사용 중인 DB2® 테이블스페이스의 기본 페이지 크기가 4KB이므로 테스트에서는 4KB블록 크기를 사용하십시오. 예를 들어, RAM이 16GB이면 다음 명령을 실행하여 이름이 ddfile인 32GB 파일을 현재 디렉토리에 작성합니다.

    time sh -c "dd if=/dev/zero of=ddfile bs=4k count=8000000 && sync".
    참고: DD의 일부 구현은 쓰기 비율을 보고하지만 시간 명령은 항상 DD 시간보다 큰 실행 시간을 리턴합니다. DD에서 보고하는 시간과 속도는 지연 또는 동기화 시간을 제외한 속도를 나타냅니다. 데이터 크기를 시간 명령에서 보고한 시간으로 나누어 실제 동기화 파일 작성 속도를 구하십시오.
    예시:
    8000000+0 records in
    8000000+0 records out
    32768000000 bytes (32 GB) copied, 38.924 s, 842 MB/s
    real 3m49.192s
    user 0m0.450s
    sys 0m38.282s
    이 예제에서는 캐싱을 포함한 작성 속도가 842MB/s이지만 동기화 시간을 포함하면 훨씬 느려져 약 136.46MB/s(32GB/3분 49초)가 됩니다.
  2. 나중에 디스크에서 직접 읽을 수 있도록 파일 시스템 캐시를 비우려면 다른 대형 파일을 디스크에 쓰십시오. dd if=/dev/zero of=ddfile2 bs=4k count=4000000
  3. 첫 번째 대용량 파일을 읽어오십시오. 파일 시스템 캐시가 두 번째 파일로 채워지므로 이 테스트에서 유효한 읽기 속도 결과가 리턴됩니다.
    time dd if=ddfile of=/dev/null bs=4k
    8000000+0 records in
    8000000+0 records out
    32768000000 bytes (32 GB) copied, 186.456 seconds, 167.6 MB/s
    real 3m6.496s
    user 0m1.652s
    sys 0m10.753s
  4. 결과를 데이터베이스 서버 컴퓨터의 권장 평균 디스크 쓰기 및 읽기 비율 테이블의 결과와 비교하여 스토리지가 사용자 환경에 맞는 DB2 데이터베이스를 처리할 수 있는지 여부를 판별하십시오. 시스템에서 최대 10000개 클라이언트의 데이터베이스를 안정적으로 처리할 수 있어야 합니다.

디스크 사용 판별

응답 시간이 느리면 iostat 명령을 사용하여 평균 디스크 사용을 확인하십시오. 디스크 사용 시간이 80% 이상이면 I/O 성능이 저하되므로 평균 디스크 사용이 40% 미만인 것이 좋습니다.

프로시저

Linux 콘솔에서 iostat -x interval duration 를 입력하십시오.
여기서,
  • interval은 초 단위의 시간 간격입니다. interval을 지정하지 않으면 시스템을 다시 부팅한 이후 전체 기간의 값이 출력에 반영됩니다.
  • duration은 명령을 실행한 횟수입니다.
예시:
iostat -x 30 5