본문 바로가기
야미스터디

TPS (Transaction Per Second)

by 의정부핵꿀밤 2023. 8. 7.
728x90

방갑숨당 👋

안녕하세여! 직장인이 된 야미입니다..!ㅋㅋㅋㅋ

아직 직장인이라고 하기엔,, 삐약거리며 회사만 돌아다니는 신입이지만,,,

그래도 요즘 많이 게을러진 것 같아서 다시 슬슬 공부를 하며 블로그를 쓰려고 합니다..!

이전에는 기록을 위해 공부를 했다면, 이제는 정말 공부를 하고 기록을 하는 느낌으로..

얼른 회사에 적응해서 저녁에 공부를 하는 습관을 들여보려고 합니당!

아무튼..!


🐣 TPS..요..?

최근에 부서 배치를 받고, 처음으로 팀 내 회의에 참석한 일이 있었습니다

물론 아무고토 모르고 그저 참관?의 느낌으로 들어간 회의라 못알아 듣는 것이 당연하지만, 뭔가 팀 내 기술 문제 외에도 이해하지 못하는 키워드가 많았습니다😥

 

그 중 하나가 TPS 였습니다,,

TPS,,, 어디선가 자주 듣던 말인데,,, 뭔지는 모르는,,,

항상 이 키워드를 들을 때마다 성능 측정 지표겠거니~ 만 하고 정확히 어떤 의미인지, 어떤 상황에서 쓰이는 건지에 대해서는 고민을 하지 않고 얼레벌레 넘어갔네용,,

 

그래서! 오늘! 바로 지금!

공부를 해보려 합니다..!

난 이제 찐 개발자니까..!🐣(삐약)

 


🧐 TPS 란?

TPSTransaction Per Second의 약자로, 1 초당 처리할 수 있는 트랜잭션을 의미한다

TPS는 시스템의 성능 측정의 지표가 된다

 

 

 

🖋️ TPS 계산

실제 계산하는 방식은 일정 기간동안 실행된 트랜잭션의 개수를 구하고 다시 1초 구간에 대한 값으로 변경한다

TPS의 계산 예시로 위의 2번째 행을 보자

  • 2번째 행에서는 5개의 트랜잭션이 실행 완료되었다
  • 이런 경우 TPS를 구하는 방법은 5 transaction / 5 sec 이므로 결과값은 1 TPS가 된다

위처럼 구간 내의 트랜잭션 수(transaction) / 수집 구간 초(sec)TPS를 계산할 수 있다

 

 

 

💹 Saturation Point와 TPS

Saturation Point : 요청이 증가해도 TPS가 특정 값으로 수렴하는 것

서비스 시간이 일정하기 때문에 초반에는 요청이 증가할수록 어느 수준까지는 처리량이 선형적으로 증가한다

이후 서비스에 사용자가 지속적으로 늘어나면 어느 순간부터 TPS가 더이상 증가하지 않는 상황이 발생하는데, 이 지점을 Saturation Point 라고 하고 이 때의 동시 사용자 수를 최대 허용 동시 사용자라고 표현한다

 

제대로 튜닝이 되지 않은 서비스는 Saturation Point를 지나면 오히려 TPS가 떨어지기도 한다

(TPS가 수렴하고 떨어지지 않아야 정상적이며, 떨어진다면 개선해야 한다!)

 

위 그림은 서비스의 이상적인 상황으로, 위 그림의 서비스는 사용자가 300명이 넘어가면 TPS가 고정되면서 상대적으로 트랜잭션의 응답시간이 길어질 것을 예상할 수 있다

→ 위의 서비스에서 동시 접속 사용자가 300명이 넘어가면 TPS는 더이상 올라가지 않아 서비스의 정체 시간이 증가한다

→ 만약 300명의 요청 사항에 대한 TPS가 50이라면 해당 요청사항을 다 처리하는데 약 6초가 소요된다고 예상할 수 있다

 

이처럼 TPS와 동시접속자를 미리 선정해봄으로써 서비스의 성능을 예상하여 측정할 수 있다

성능 테스트의 한 형태인 Critical Performance Test (임계 성능 테스트)의 경우, Saturation point를 찾아내는 것을 목표로 한다

이를 통해 해당 시스템의 한계 성능을 확인하여 최대 TPS와 그 때의 응답시간과 자원 사용률, 최대 허용 동시 사용자 등을 알 수 있다!

 

 


[참고]

https://brunch.co.kr/@leedongins/27

 

TPS 지표 이해하기

모니터링 | 많은 초창기 스타트업들은 성능에 관심이 없습니다. 제품 만들기도 바쁜데 성능이 무슨 의미가 있을까 생각이 들죠. 당장 서비스에 사용자가 몰리면 아마존 오토스케일이 해결해 줄

brunch.co.kr

https://performance.tistory.com/4

 

TPS와 응답시간

정보시스템의 대표적인 성능 지표는 처리량 (Throughput)과 응답시간 (Response Time)이다. 1. 처리량 처리량은 시스템 측면의 대상 시스템에 대한 성능을 평가하는 KPI이며, 단위로는 주로 TPS (Transactions

performance.tistory.com

 

728x90

'야미스터디' 카테고리의 다른 글

MAU? 그게 몬디?  (0) 2023.06.07

댓글