서버 disk 부하 check 중 svc_t 에 대한 질문.
Disk 의 부하 check에 대한 자료를 조사해 보면
iostat 나 sar 명령에서 얻어지는
svc_t (서비스 시간, disk 응답시간)
의 수치로써 판단하는 방법이 있습니다.
* 10 - 50 acceptable
* 100 - 1500 not acceptable
그런데 제가 질문 드리고 싶은 것은 이 svc_t 의 값이 web에서 검색해 보면
svc_t = avque + avwait
모든 문서가 이렇게 표현이 되어있는데요
제가 생각했을때는
svc_t = avserv + avwait
가 아닌가 해서요
각각의 의미를 살펴보면
svc_t : average service time, in milliseconds
평균서비스 시간으로써 한건의 disk i/o 요청에 대하여 실제로 queuing time를 포함한 disk의 response 시간. (단위 - 시간 (ms))
avque : Average number of requests during the time the device was busy servicing a transfer request
즉 disk i/o 요청중에 device가 현재 서비스중이어서 queue에서 대기하고 있는 건수의 갯수. (단위 - 건수)
avwait : Average time, in milliseconds, that transfer requests wait idly in the queue.
This time is measured only when the queue is occupied
즉 한건의 disk i/o 요청이 평균적으로 queue 에서 대기하는 시간 (단위 - 시간 (ms) )
avserv : Average time, in milliseconds, for a transfer request to be completed by the device.
For disks, this value includes seek times, rotational latency times, and data transfer times
즉 한건의 disk i/o 요청이 실질적으로 disk device에 의해 처리가 시작되어 완료 되기까지의 시간을 의미 (단위 - 시간(ms) )
입니다.
때문에 의미상으로 보아서도 평균 서비스 시간이라는 것은
실제로 disk i/o에 대한 한건의 요청이 처음 queuing 되고 실제 disk device로 부터 서비스를 받아 처리가 완료되는 전체 시간을 나타낸다는 의미로써 avwait 과 avserv 의 합이 되어야 되지 않을까요?
그리고 단위만 놓고 보아도
avque는 건수(갯수)의 단위이고 avwait는 시간(ms)의 단위인데 이것을 곱하는 것도 아니고 더해서 어떤 의미있는 데이타를 만든다는게
말이 되지 않는것 같습니다.
때문에 여러가지 정황과 그 의미로 보았을때
서비스 타임 (svc_t)은 평균 대기 시간(avwait)과 평균 disk 처리 시간(avserv)의 합이 되어야 하지 않을까? 라는 결론을 내리고
여러 분들에게 확인을 받고자 이렇게 질문을 드립니다.
의견 많이 많이 주세요~
댓글 달기