초당 트랜잭션 수
더 많은 작업
초당 트랜잭션 수(Transactions Per Second, TPS)는 시스템이 1초 동안 끝까지 처리해 내는 트랜잭션(업무 요청)의 개수로, 서버·데이터베이스·응용 시스템의 처리량을 나타내는 성능 지표이다.
TPS 는 성능 테스트에서 처리량(throughput)을 나타내는 가장 흔한 단위이다. 같은 시스템이라도 트랜잭션이 무엇이냐에 따라 값이 크게 달라지므로, TPS 를 말할 때는 어떤 업무를 어떤 비율로 섞어 쟀는지를 함께 밝혀야 한다. 업계 표준 벤치마크도 같은 생각으로 만들어졌다. TPC-C 는 다섯 종류의 트랜잭션을 정해진 비율로 섞어 돌리고 그 처리량을 분당 트랜잭션 수(tpmC)로 보고한다.[1] 공공 정보화사업의 하드웨어 규모산정 표준인 TTA 「정보시스템 하드웨어 규모산정 지침」(TTAK.KO-10.0292/R3)도 OLTP 서버는 tpmC, WEB/WAS 서버는 SPECjbb2015 의 max-jOPS 를 성능 기준으로 쓴다.[2] → 정보시스템 용량 산정
- 트랜잭션 하나를 처리하는 데 평균 t 초가 걸리고 한 번에 하나씩 처리한다면 최대 TPS 는 1 / t 이다.
- 시스템 안에 머무는 평균 요청 수(L), 처리량(λ, TPS), 평균 체류 시간(W) 사이에는 리틀의 법칙 L = λ × W 가 성립한다.
- 사용자가 요청을 보내고 응답을 받은 뒤 화면을 읽고 다음 요청을 보낼 때까지 쉬는 시간을 생각 시간(Think Time, 평균 대기 시간)이라 한다. 한 사용자의 요청 한 주기는 응답 시간 + 생각 시간이므로, 피크 시간 동시 사용자 N 명이 만들어 내는 목표 처리량은 TPS = N / (응답 시간 + 생각 시간) 이다.
- 예: 동시 사용자 400명, 목표 평균 응답 시간 3초, 평균 생각 시간 12초이면 400 / (3 + 12) ≈ 26.7 TPS 다. 생각 시간을 빼고 400 / 3 으로 계산하면 사용자가 쉬지 않고 요청을 보낸다고 가정한 셈이 되어 지나치게 크다. 동시 사용자가 늘어도 TPS 가 더 오르지 않고 응답 시간만 늘어나는 지점이 그 시스템의 최대 처리량이다.
업무마다 한 건 처리에 드는 자원이 다르면, 시스템 전체의 최대 TPS 는 업무별 최대 TPS 를 단순히 더하거나 평균한 값이 아니다. 요청 비율대로 섞인 트랜잭션 묶음 하나를 처리하는 데 드는 시간을 구해 계산한다(가중 조화 평균).
- 최대 TPS = 1 / Σ (업무 i 의 요청 비율 / 업무 i 의 최대 TPS)
예 - 업무 A 는 혼자 돌리면 최대 40 TPS, 업무 B 는 최대 400 TPS 이고, 운영 중 요청이 A 와 B 에 초당 10건씩(비율 1 : 1) 들어온다.
- A 한 건 처리 시간 = 1/40 = 0.025초, B 한 건 처리 시간 = 1/400 = 0.0025초
- A 1건 + B 1건 묶음 처리 시간 = 0.025 + 0.0025 = 0.0275초
- 1초에 묶음 1 / 0.0275 ≈ 36.36 개 = 트랜잭션 36.36 × 2 ≈ 72.73 TPS
- 같은 결과를 식으로 쓰면 1 / (0.5/40 + 0.5/400) = 1 / 0.01375 ≈ 72.73 TPS
36.36 은 초당 처리하는 묶음의 수이지 트랜잭션 수가 아니다. 두 최대값의 산술 평균((40 + 400) / 2 = 220)은 무거운 업무 A 가 자원을 대부분 차지한다는 점을 무시하므로 지나치게 크다. 결과가 A 의 최대값 40 의 두 배를 넘지 못하는 것도 이 때문이다.
- ↑ 「TPC-C」, Transaction Processing Performance Council, https://www.tpc.org/tpcc/, 확인일: 2026-11-04.
- ↑ 「정보시스템 하드웨어 규모산정 지침」(TTAK.KO-10.0292/R3) 표준 정보, 한국정보통신기술협회, https://committee.tta.or.kr/data/standard_view.jsp?pk_num=TTAK.KO-10.0292/R3&commit_code=PG423, 확인일: 2026-11-04.