TPS (Transactions Per Second) 250103
q1: TPS (Transactions Per Second)
a1:
**TPS (Transactions Per Second)**는 초당 처리되는 트랜잭션의 수를 의미하며, IT 시스템의 **성능 및 처리량(capacity)**을 평가하는 데 사용되는 주요 지표입니다.
TPS의 정의
• Transaction(트랜잭션): 데이터베이스나 애플리케이션에서 하나의 작업 단위를 말하며, 일반적으로 다음 작업들을 포함합니다:
• 데이터 조회 (SELECT)
• 데이터 입력/수정/삭제 (INSERT, UPDATE, DELETE)
• 사용자 요청 처리 (예: 로그인, 상품 주문, 결제 등)
• 초당 처리량(Per Second): 특정 시간 동안 시스템이 얼마나 많은 트랜잭션을 처리할 수 있는지 측정.
TPS는 시스템 성능 테스트, 용량 산정, 그리고 서버 및 네트워크의 규모를 결정할 때 중요한 기준이 됩니다.
TPS의 활용
1. 시스템 성능 측정
• 애플리케이션 또는 데이터베이스가 초당 얼마나 많은 작업을 처리할 수 있는지 평가.
• 예: 전자상거래 사이트에서 TPS를 측정하여 결제 시스템의 처리 능력을 확인.
2. 용량 산정
• TPS 값을 기준으로 서버, 네트워크, 스토리지의 사양을 산정.
• 예: 하루 100만 건의 트랜잭션을 처리해야 한다면, 초당 필요한 TPS를 계산하고 이에 맞는 시스템 설계.
3. 성능 테스트
• 부하 테스트를 통해 시스템이 최대 몇 TPS까지 견딜 수 있는지 확인.
• 예: JMeter, LoadRunner 같은 도구로 TPS를 시뮬레이션.
4. 시스템 확장성 평가
• TPS를 기준으로 서버를 수평 또는 수직 확장(scale-out/scale-up)하여 요구 성능 충족.
TPS 계산 방법
TPS는 다음 공식을 통해 계산됩니다:

예시:
• 1분 동안 6,000건의 트랜잭션이 발생했다면:

→ 초당 100개의 트랜잭션 처리.
TPS와 IT 용량 산정
1. 필요한 CPU/메모리
• TPS가 높아질수록 더 많은 CPU 코어와 메모리가 필요.
• 데이터베이스 트랜잭션 처리량(TPS)을 기준으로 서버 사양 결정.
2. 네트워크 대역폭 계산
• 트랜잭션 당 평균 데이터 크기를 기준으로 초당 전송량을 계산.
• 예: 트랜잭션 당 10KB 데이터 전송, TPS가 1,000이라면 대역폭은 .
3. 스토리지 용량
• TPS와 데이터 크기를 기반으로 필요한 스토리지 용량 예측.
• 예: 하루 1,000 TPS, 트랜잭션당 1KB → 하루 데이터 저장량: .
TPS 관련 용어
1. QPS (Queries Per Second)
• 초당 처리되는 쿼리의 수.
• 데이터베이스에 대한 읽기/쓰기 요청만을 고려하며, TPS보다 세부적인 지표.
2. RPS (Requests Per Second)
• 초당 처리되는 클라이언트 요청의 수.
• TPS는 하나의 요청에 여러 트랜잭션이 포함될 수 있으므로 RPS와 TPS는 다를 수 있음.
3. Throughput(처리량)
• 시스템이 일정 시간 동안 처리한 데이터나 작업의 양.
• TPS는 Throughput의 단위 중 하나로 볼 수 있음.
TPS와 관련된 도전 과제
1. 병목현상
• CPU, 메모리, 네트워크, 데이터베이스의 제약으로 TPS가 낮아질 수 있음.
2. TPS 증가에 따른 비용
• TPS를 높이기 위해 추가적인 서버나 네트워크 자원이 필요할 수 있음.
3. 실시간 TPS 측정 어려움
• TPS는 시스템 상태에 따라 동적으로 변화하기 때문에 정확한 실시간 측정이 어렵습니다.
TPS는 IT 시스템의 처리 성능과 확장성을 이해하고 설계하는 데 핵심적인 지표입니다.