시간당 총 디스크 I/O를 측정하는 방법

시간당 총 디스크 I/O를 측정하는 방법

클라우드 서버가 있고 디스크 IO 사용량에 대한 비용도 지불해야 합니다. 다음은 통계의 예입니다.

04/Sep/2013 07:24:19
04/Sep/2013 08:24:19
0,5 GB / 1 vCPU (0,08 Kr. per hour): Charge for 44.7578125GB disk I/O

따라서 1시간당 약 45GB의 디스크 I/O에 대한 요금이 청구됩니다.

이것은 나에게 트래픽이 많은 것처럼 들리며 확인하기 위해 직접 모니터링을 하고 싶습니다. 나는 이와 같은 도구를 알고 있지만 dstat1 sysstat시간(또는 다른 시간 범위) 총계를 표시하는 예를 찾지 못했습니다. 대부분의 예는 다음 명령과 같이 결과의 평균을 구합니다.

dstat -tdD total 60

여기서는 60초의 디스크 I/O 측정을 보여주지만 이는 평균입니다. 그래서 큰 파일을 복사하면 복사가 진행되는 동안 숫자가 증가하는 것을 볼 수 있지만 복사가 완료되면 숫자가 다시 감소합니다. 즉, 해당 기간의 실제 합계가 나오지 않습니다.

특정 기간 동안 총 디스크 I/O를 기록하는 방법은 무엇입니까?

답변1

이 도구를 사용하여 iostat디스크 활용도 정보를 수집할 수 있습니다. 스위치를 포함한 여러 매개변수가 필요합니다 -d.

   -d     Display the device utilization report.

또한 재실행해야 하는 빈도 간격인 초 단위의 매개변수도 필요합니다. 값은 36001시간의 초 수입니다.

$ iostat -d 3600
Linux 2.6.35.14-106.fc14.x86_64 (grinchy)   09/04/2013  _x86_64_    (4 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              20.53        71.86      1259.61   20308334  356000380
dm-0              4.92        39.02        28.81   11027610    8143376
dm-1              0.54         0.93         3.38     261472     954912
dm-2            156.65        31.87      1227.42    9006394  346902056

이 명령의 출력은 파일로 리디렉션될 수 있습니다.

$ iostat -d 3600 >> iostat_hrly.log

단위의 의미

매뉴얼 페이지를 확인하면 iostat단위에 대한 설명이 잘 나와 있습니다.

발췌

   Blk_read/s
         Indicate the amount of data read from the device expressed in a 
         number of blocks per second. Blocks are equivalent to sectors with
         kernels 2.4 and later and  therefore have a size of 512 bytes. With
         older kernels, a block is of indeterminate size.

  Blk_wrtn/s
         Indicate the amount of data written to the device expressed in a 
         number of blocks per second.

  Blk_read
         The total number of blocks read.

  Blk_wrtn
         The total number of blocks written.

따라서 블록은 512바이트이므로 장치의 Blk_read/s(MB)는 sda71.86 * 512바이트 = 36.79232킬로바이트/초입니다.

출력의 단위를 자동으로 변경하는 다른 스위치가 있습니다.

iostat매뉴얼 페이지에서 발췌

-h     Make the NFS report displayed by option -n easier to read by a human.

-k     Display statistics in kilobytes per second instead of blocks per 
       second.  Data displayed are valid only with kernels 2.4 and later.

-m     Display statistics in megabytes per second instead of blocks or 
       kilobytes per second.  Data displayed are valid only with kernels 
       2.4 and later.

예(KB/초)

따라서 처리량을 KB/s 단위로 표시하면 더 유용할 수 있습니다.

$ iostat -dk 3600
Linux 2.6.35.14-106.fc14.x86_64 (grinchy)   09/05/2013  _x86_64_    (4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              20.85        47.25       663.81   15475096  217427086
dm-0              5.01        20.00        14.43    6549301    4725068
dm-1              0.54         0.58         1.60     189064     524872
dm-2            165.30        26.65       647.78    8730281  212177124

관련 정보