클라우드 서버가 있고 디스크 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에 대한 요금이 청구됩니다.
이것은 나에게 트래픽이 많은 것처럼 들리며 확인하기 위해 직접 모니터링을 하고 싶습니다. 나는 이와 같은 도구를 알고 있지만 dstat
1 sysstat
시간(또는 다른 시간 범위) 총계를 표시하는 예를 찾지 못했습니다. 대부분의 예는 다음 명령과 같이 결과의 평균을 구합니다.
dstat -tdD total 60
여기서는 60초의 디스크 I/O 측정을 보여주지만 이는 평균입니다. 그래서 큰 파일을 복사하면 복사가 진행되는 동안 숫자가 증가하는 것을 볼 수 있지만 복사가 완료되면 숫자가 다시 감소합니다. 즉, 해당 기간의 실제 합계가 나오지 않습니다.
특정 기간 동안 총 디스크 I/O를 기록하는 방법은 무엇입니까?
답변1
이 도구를 사용하여 iostat
디스크 활용도 정보를 수집할 수 있습니다. 스위치를 포함한 여러 매개변수가 필요합니다 -d
.
-d Display the device utilization report.
또한 재실행해야 하는 빈도 간격인 초 단위의 매개변수도 필요합니다. 값은 3600
1시간의 초 수입니다.
예
$ 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)는 sda
71.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