|
전 nGrinder사용자인데요, 아는 한도 내에서 위에 부분에 대해서 잘못된 부분을 설명드릴께요..
아래 공식(F1 ~ F5) 맞지만 TPS산출 방법이 잘못되신거 같습니다.
Running Time : 0.954 초로 보면, 아마 8개의 쓰래드가 돌아가면서 1번 ~ 8번을 순차적으로 가져오면서 부하를 준것이기 때문에
아래 100개로 잡으신 것은 Concurrent User 수 입니다.
Active User는 실제 서버에 부하를 주고 있는 사용자를 의미하며,
Concurrent User는 서비스를 사용하고 있는 모든 사용자 (Think Time하는 사용자 = 부하를 주지 않고 있는 사용자)도 포함된 수입니다.
아래 계산 하신 것은 Concurrent User / Average Response Time 방식으로 계산 하셨기 때문에 너무나 큰 값이 나오게 된 것입니다.
1번 Agent는 처음 1번 부하를 주고, 0.89초 동안 Think Time(Running Time - Response Time)을 하고 있었던 것이지요
100번 Agent의 경우 약 0.081초 동안 기다리다가(Think Time) 부하를 주었습니다.
(1번 Think Time + 100번 Think Time) / 2개 = 평균 Think Time이라 하면 약 0.4855라는 값이 나옵니다.
Request Interval = (Average Response Time) + (Average Think Time) 입니다.
Request Interval = 0.4855 + 0.4659 = 0.954 입니다.
TPS = 100 (Concurrent User) / 0.954 (Request Interval) = 104.82 입니다.
사실 TPS 의 기본 공식은 Transaction / Seconds = 100건 요청 / 0.954 (수행시간) = 104.82로 같은 값이 나옵니다.
아래 처리량/60초로 하시면 평균 TPS가 나옵니다.
TPS는 초당위의 처리량값을 구하셔서 임계치 TPS값을 구하는게 좋습니다.
|