본문 바로가기
Network

CPS, TPS

by 라바킴 2019. 4. 7.

L4 용어

" L4에서는 CPS / L7에서는 TPS 용어 사용 "

 

#CPS (Connection Per Second)

  • 초당 TCP Connection을 생성할 수 있는 최대 개수
    • ex) 1 CPS : Client가 LB의 VIP로 접속하여 특정 서버로 분산된 후, 다시 세션을 끊는 하나의 과정
    • ex) 200,000 CPS를 지원하는 장비 = 1초당 200,000의 커넥션을 동시에 처리
    • Connection : 하나의 세션이 열고 닫히는 순간까지를 의미
      • 200,000 CPS라 하면  X 7(열릴때(3-way) + 닫힐때(4way)) = 1,400,000 의 패킷이 오가는 것

 

 

#TPS (Transcation Per Second)

  • 초당 최대 처리 건수 = 초당 교환되는 데이터의 수치 (L7 성능 지표)
    • RPS(Requests Per Second)를 사용하는 업체도 있으나, 범용적으로 TPS를 많이 사용
  • 하나의 Session에 몇 개의 Transaction이 들어가는가에 따라 성능에 큰 차이가 생기는데,
    해외에서는 1 session - 1 Transaction 을 기준으로 측정하나
    국내에선 높은 수치를 강조하고 싶은지 1 session - 10 Transaction 을 기준으로 측정하기 때문에 제조사 별로 통일되는 수치는 아님

 

  • 로드밸런서가 L7으로 동작할 경우 L4 상위레벨의 헤더 또는 데이터를 보고 동작 -> 부하가 많을 수 밖에 없음
    • ‘GET’과 같은 L7 요청이 있을 때만 서버로 세션을 염 (L4 요청에는 session 생성하지 않음)
  • L4로 동작할 때와는 달리 로드밸런서가 클라이언트와 직접 세션 셋업을 하고 서버와의 세션은 별도로 생성됨
    • L4 동작대비 약 1/3의 성능 차이
순수한 로드밸런싱의 성능을 나타낼 때, 시간당 얼마만큼의 TCP 트래픽(예, HTTP)을 처리할 수 있느냐가 중요합니다. 하나의 TCP 연결은 클라이언트와 서버간의 쓰리-웨이 핸드쉐이크(three-way handshake) 동작(하나의 SYN과 두 개의 ACK 패킷)으로 정의할 수 있습니다. 따라서 이 성능 지표는 제품에 따라 ‘초당 트랜잭션(transactions per second)’, ‘초당 세션(sessions per second)’ 또는 초당 커넥션(Connections Per Second)으로 불리고 있습니다.

하나의 TCP 세션을 열고(opening) 닫는(closing) 작업은 L4 레벨의 기본 세션 관리의 가장 핵심적인 동작이고, L4의 포워딩 엔진 부분에 가장 많은 작업량을 요구하는 작업이므로, 이 지표는 L4의 네트워크 프로세서 디바이스나 커널의 성능에 따라 좌우됩니다.

시장에 출시된 제품들은 TCP 세션을 시간당 얼마나 성립(opening)할 수 있는지를 제시하고 있습니다. 따라서, 만약 세션을 닫는 동작까지를 고려할 경우 초당 연결 수를 계산하면 세션이 성립되는 경우의 초당 연결 수의 약 2분의 1이 나온다고 보면 됩니다.

다른 한편으로, 모든 로드밸런싱에서 초당 연결 수가 의미 있는 수치는 아닙니다. 예를 들어 SLB에서 UDP 패킷에 대해 초당 연결 수는 무의미한 값일 수 밖에 없습니다. UDP 패킷은 쓰리-웨이 핸드쉐이크 방식이 아니라, 커넥션리스(connection-less) 프로토콜이므로 단일 UDP패킷에 대하여 연결(connection)이 바로 성립되어 버리기 때문에 UDP 프로토콜에 대한 로드밸런싱을 구축하는 경우에 초당 연결 수는 의미가 없다고 할 수 있습니다.

 


 

[그 외 참고]

QPS (Queries Per Second)

  • 정보 조회 시스템의 트래픽 측정 단위 중 하나
  • 검색엔진, 데이터베이스, API 등에서 사용하는 단위

RPS ...

bps (bit per second)

BPS (Byte Per Second)

PPS (Packet Per Second)

'Network' 카테고리의 다른 글

gRPC 배경부터 활용까지  (0) 2020.07.26
로드 밸런싱(SLB, Server Load Balancing) 기본 개념  (4) 2020.05.12

댓글