(Windows 사람이 묻습니다) Linux에서 디스크 대기 시간 측정 : 귀찮게합니까?


11

Windows에서 데이터베이스 또는 다른 짧은 대기 시간 앱이있는 볼륨에 IO 관련 문제가 있는지 확인 / 확인할 때마다 디스크 대기 시간을 확인합니다.

Windows 평균 디스크 시간 / 전송 카운터> 18-20ms가 지속적으로 표시되면 탄광 내 카나리아가 막 죽어 더 조사해야합니다. 드롭 데드 심플.

지금 Linux를보고 있는데 비슷한 지연 시간 기반 메트릭이 표시되지 않습니다. 내가 한 빠른 연구는 내가 원치 않을 수도 있음을 나타냅니다 ... I / O에 대한 많은 참조가 대부분의 사람들이 이것을 추적하는 방식임을 봅니다.

이것과 관련하여 사용하는 야구장 규칙이 있습니까? 예를 들어, 데이터베이스 볼륨이 나쁜 것으로 보이는 i / o 대기는 무엇입니까? 간단한 iostat 명령이 있습니까? 눈알을 치는 TOP보다 전반적인 디스크 상태를 더 잘 볼 수 있습니까?

감사합니다!


4
조회 수 있습니다ioping
ewwhite

감사합니다, @ewwhite. 초점을 완전히 바꿔서 다른 방식으로 모니터링해야하는지 궁금합니다.
Russell Christopher

2
시스템에서 sysstat 콜렉션을 사용하십시오. 그런 다음 iowait CPU 백분율을 검사하여 IO 관련 속도 저하를 진단하는 데 매우 유용합니다.
EEAA

2
@RussellChristopher 여기서sar 출력 예를 볼 수 있습니다 . 기둥에 주의하십시오 . %iowait
EEAA

@ 매트는 매우 유사하지만 초점이 약간 다릅니다. 이 QA는 시뮬레이션 환경에서 테스트를 수행하는 데 더 중점을 두는데,이 Q는 프로덕션 환경에서 현재 성능을 모니터링하는 데 더 많은 것으로 보입니다.
BeowulfNode42

답변:


12

개인적으로 나는 명령을 사용 iostat -xk 10하고 await열을 봅니다.

  • -x 확장 통계를 표시합니다.
  • -k 통계를 초당 킬로바이트로 표시합니다. 또는 메가 바이트 / 초에 m을 사용하십시오.
  • 초 단위의 10 표시 간격

이것은 평균 디스크 초 / 전송 창과 거의 동일한 메트릭 이며 초 대신 ms로 표시됩니다. 모든 종류의 것들에 따라 다르지만 유사한 경험 법칙을 적용 할 수 있습니다. 나는 일반적으로 사용자가 15ms와 20ms에서 불평을 시작한다는 것이 매우 나쁘다는 것을 알았습니다.

ctrl + c를 눌러 종료하거나 count 매개 변수로 볼 반복 횟수를 지정하십시오. 첫 번째 반복에 사용 된 작은 시간 샘플로 인해 첫 번째 반복 결과가 크게 왜곡됩니다.

로부터 man iostat페이지

await 장치에 발행 된 I / O 요청의 평균 시간 (밀리 초)입니다. 여기에는 요청이 대기열에서 보낸 시간과 요청한 시간이 포함됩니다.

편집 : await 프로덕션로드 상태에서 디스크를 처리하여 처리량과 iops가 수요를 유지할 수 있는지 확인하는 데 사용하는 기본 메트릭입니다.

% iowait 통계는 CPU와 디스크 사용량 간의 균형에 대한 것입니다. %는 iostat의이 경우 예상보다 낮은 남아 모두 CPU와 디스크 활동이 높다. 반면에 디스크 사용 수준이 상당히 낮 으면 CPU가 유휴 상태 인 경우 % iostat가 상대적으로 높을 수 있습니다. 기다리는 것은 소금 한 알과 함께 가져와야합니다. 순차적 인 읽기 / 쓰기가 많이 발생하는 경우 수치가 더 낮은 값으로 기울어지고 18 ~ 20ms의 경험 규칙은 이러한 조건에서 유용하지 않습니다. 기록되는 대부분의 청크는 순차적 데이터이므로 서비스됩니다 디스크에 내장 된 NCQ (Native-Command-Queuing) 시스템으로 인해 디스크가 요청을 처리하는 순서를 선택할 수있게하여 처리량을 최적화함으로써 다른 임의의 io가 대기하는 동안 디스크가 매우 빠르게 응답합니다.


@ beowulfNode42 감사합니다. 이것이 "불량 디스크"라는 관점에서 사용하는 기본 메트릭입니까? New Relic, i / o 대기 및 디스크 사용률 (읽기 및 쓰기) 백분율에 중점을 둔 것 같습니다 ... 잘못된 메트릭을 쫓고 있는지 또는 덜 유용한 정보를보고하는지 궁금합니다 ....
Russell Christopher

@RussellChristopher 다른 통계는 대기 정보를 해석하는 데 필요한 컨텍스트를 제공합니다. 예를 들어, 많은 iops (r / 및 w / s)가 있고 MB / s가 많으면 평균 요청 크기 (avgrq-sz)가 크거나 작고 평균 큐 크기 (avgqu-sz)가 무엇입니까? 예. CPU 관련 메트릭 % iowait, % user, % system 등과 함께 디스크가 CPU 속도를 저하시키는 지 또는 그 반대인지 확인하십시오.
BeowulfNode42
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.