본문 바로가기

사는 이야기/펌킨도서관

L4 스위치 성능 시험 성적서 바로보기 - L4 스위치 시험 항목

많은 기업이 L4 스위치 도입에 앞서 성능 시험 성적서를 요구합니다. 대부분 숫자만 보고 판단하죠. 하지만 이는 시험 성적서의 겉만 보는 것입니다. 성적서 내용을 깊이 있게 파악하려면 실험 조건을 따져 봐야 합니다. 관련해 시험 성적서에 나와 있는 숫자를 바로 보는 방법을 5회의 연재를 통해 알아보겠습니다. 


. 펌킨네트웍스㈜ 개발1 전수철 scjeon@pumpkinnet.com


1. L4 스위치 시험 항목

2. 성능 시험시 자주 사용하는 옵션

3. 어떤 계측기들이 사용되는가? 상황에 따라 선호하는 계측기가 다른 이유

4. 성능시험 기관 및 성적서 발행 단계

5. 성능 시험 성적서를 통한 해석


L4 스위치 성능 시험 성적서를 보면 생소한 용어와 수치가 보입니다. 대부분 보고 싶은 내용만 보고 나머지는 흘려 보죠. 하지만 시험 성적서는 가볍게 훑어 보고 덮어도 되는 그런 문서가 아닙니다. 동일한 등급의 장비로 알고 있는데, 성능 수치가 크게 다른 경우도 있습니다. 그냥 넘어갈 수도 있지만, 왜 이런 차이가 나는지 궁금증이 생겨야 되지 않을까요? 실제로 이상한 숫자가 눈에 띄어 내용을 확인해 보면 평가 기준이 다른 것을 알 수 있습니다. 예를 하나 들어 볼까요? 다음 표를 보면 같은 하드웨어를 대상으로 테스트 조건을 달리했을 뿐인데 숫자 차이가 크게 남을 알 수 있습니다. 


 CPS

Test A

 Test B

 HTTP, Reset Close

 588,000

 804,000

 HTTP, FIN Close

 415,000

 570,000

 TCP Only, Reset Close

 903,000

 1,201,000

 TCP Only, FIN Close

 604,000

 780,000


위 표의 경우 CPS 시험을 Payload는 1byte로 고정하여 프로토콜과 연결 방식을 바꿔 가며 2개의 장비를 시험하여 나온 결과 값입니다. 다음 표도 볼까요. 


TPS/RPS

 Test A 

 Test B

 10 http get/1 TCP(http payload: 1K)

 580,000

 1,393,000

 100 http get/1 TCP(http payload: 1B)

 1,809,000

 1,963,000


위 표의 경우 TPS 시험을 원하는 수치를 만들기 위해 payload와 트랜잭션 수를 조절하며 만들어낸 결과 값입니다. Test B 수치의 경우 계측기의 한계로 인하여 계측기의 최대치를 확인한 값입니다. 


이처럼 평가 조건과 옵션에 따라 숫자는 얼마든지 달라질 수 있습니다. 따라서 시험 성적서를 장비 도입을 위한 주요 의사결정 자료로 활용하려면, 성적서에 나온 각 수치를 좀더 정확히 이해할 필요가 있습니다. 관련해 이번 포스팅에서는 L4 스위치 시험 항목에 대한 용어를 간단히 살펴보겠습니다. 


1. CPS (Connection Per Second)

* 초당 TCP Connection을 처리할 수 있는 개수

* TCP Connection은 하나의 세션이 만들어지고 닫히는 순간 까지를 말합니다. 

* 클라이언트가 L4의 VIP로 접속하고 이를 특정서버로 분산하여 다시 세션을 생성하고 세션을 다시 종료하는 과정을 1 CPS라고 합니다

* 100,000CPS는 초당 100,000개의 TCP Connection을 동시에 처리한다고 생각하면 됩니다.


2. TPS (Transaction Per Second) or RPS (Request per Second)

* 초당 TCP Transaction을 처리할 수 있는 개수

* TCP Transaction은 세션이 생성된 이후 세션 종료 전까지 수행되는 작업을 의미합니다. 

* 성능을 측정한 결과, 300,000 TPS가 나왔다면, 1초에 300,000개의 TCP Transaction을 처리할 수 있다는 의미입니다.


3. Bi-directional Throughput

* 서버와 클라이언트 사이의 처리되는 모든 트래픽을 실시간으로 측정한 값입니다.

* RFC2544를 기초하여 전송되는 Frame size 별로 이론적 최대치인 Frame rates를 확인하여 Bi-directional Throughput 측정합니다.


* 위그림을 해석하자면 1518사이즈의 프레임 전송시 결과가 8128이라면 100Mbps 81275라면 1Gbps라 볼 수 있으며 사용되는 포트 수 * 결과를 통해 최종 결과를 집계합니다.


4. HTTP Throughput

* 서버와 클라이언트 사이의 Layer4 이상의 서비스(load balancing)을 통한 트래픽을 실시간으로 측정한 값입니다.

* 일반적으로 사용되는 단위는 Gbps입니다.

* Layer2/3의 측정수치가 아닌 Layer 4 이상의 트래픽 전송시의 성능을 의미합니다.


5. CC (Concurrent Connections)

* 동시에 유지 가능한 Connection 개수를 말합니다.

* 1~4번의 항목에서 설명한 수치가 순간적이 처리 수치라 하면 CC는 지속적으로 관리 가능한 수치를 의미합니다.

* 연산 처리 이외에 세션들의 정보를 메모리에서 관리가 가능해야 하기에 메모리 사이즈에 의존적입니다.


다음 포스팅에서는 시험 성적 평가시 자주 사용하는 옵션에 대한 내용을 살펴보겠습니다.