공부기록장

[정처기] 애플리케이션 성능평가 완벽정리 (처리량, 응답시간, 대기시간, 반환시간) 본문

▶ 자격증/정보처리기사

[정처기] 애플리케이션 성능평가 완벽정리 (처리량, 응답시간, 대기시간, 반환시간)

친절한 3 2021. 4. 22. 11:45

문제를 풀다가 애플리케이션 성능평가가 문제에 나올 때면 매일 봐도 모르겠다..

그래서 이 참에 완벽하게 정리!!! 이걸 보시는 모든 분들은 이제 성능평가 시간문제는 틀리실 일이 없을 겁니다 훠훠~


다중 프로그래밍에 있어 성능평가 기준 5가지

프로세서 이용률(CPU utilization), 처리율(throughput), 반환시간(turn around time), 대기시간(waiting time), 응답시간(response time)이 있다. 이제 찬찬히 하나씩 뜯어보자.

 

프로세서 이용률(CPU utilization) : 시간 당 CPU를 사용한 시간의 비율을 의미한다.

처리율(throughput): 시간 당 작업을 처리한 프로세스의 양을 의미한다.

반환시간(turn around time): 프로세스가 생성된 후 종료되어 자원을 모두 반환할 때까지의 시간. 프로세스가 
CPU요청을 한 시점부터 CPU 작업을 모두 마친 후까지 걸리는 시간을 의미한다. (요청 시간부터 작업을 모두 끝날 때까지의 시간)

대기시간(waiting time): 대기열에 들어와 CPU를 할당받기까지 기다린 시간을 의미한다. 즉, 준비 큐에서 기다린 시간들의 합으로 생각하면 된다. (아래 그림에서 CPU비 점유 시 기다린 모든 시간을 포함)

응답 시간(response time): 대기열에서 처음으로 CPU를 얻을 때까지 걸린 시간을 의미한다. 준비 큐에 들어온 후 첫 번째 CPU를 획득하기까지 걸린 시간이다. (아래 그림에서 요청 시간부터 응답 시간까지의 시간)

출처: 에듀고시

대기시간과 응답 시간을 헷갈려하는 경우가 많은데, 

프로세스가 스케쥴링을 돌 때, 하나의 프로세스가 한 번에 스트레이트로 CPU를 할당하는 경우는 별로 없다. 중간에 선점되거나, 할당 시간을 초과하여 대기 큐로 옮겨진다거나 등등의 과정들을 거친다. 여기서 대기시간과 응답 시간의 차이를 구분할 수 있다.

대기시간처음 요청부터 시작하여 하나의 프로세스를 다 돌리기 위해 필요한 모든 대기 시간을 합친 것을 의미한다.

응답 시간은 처음 요청부터 첫 CPU를 할당받기까지의 시간을 의미한다.

예시를 들어보자면, 응답시간은 음식점에 들어가서 주문을 하고 첫 음식이 나오기까지 걸린 시간을 의미하고, 대기시간은 음식점에서 주문을 했는데, 모든 음식이 나오는 동안에 그 사이사이에 걸리는 모든 시간의 합을 의미한다. 이제 완벽하쥬,, ? !

 

 

Comments