2010년 8월 23일 월요일

[network] 퍼포먼스 측정에 관한 용어 정리

  1. 처리량 (Throughput) :서버와 클라이언트 사이에 처리되는 트래픽 양을 실시간으로 측정한 양이다.  보통 Gbps 단위를 사용한다. 10Gbps(Gbit/s)의 트래픽을 처리 하는 장비라면 In/Out 의 합이 초당 10Gbps의 트래픽을 처리 한다고 보면된다. 보통 장비 업체의 경우 In/Out 을 구분하지 않고 사용하시만 In/Out 을 구분해야 정확한 성능이 판단 가능하다. 일반적으로 웹서비스를 하는 경우 In 보다 Out이 훨씬 많다.(적게는 수배에서 수십배에 이른다.) 따라서 In/Out 중에서 트래픽이 많은 쪽을 기준으로(보통 Out) 단방향 처리량이 근접해야 한다.
  2. CPS (Connection Per Second) : L4 에서 사용하는 가장 대표적인 성능 측정 단위로 초당 동시 커넥션 처리 숫자 이다. 일반적으로 클라이언트가 LoadBalancer 로 접속하고 이를 특정 서버로 분산한후 다시 세션을 끊는 과정을 1CPS 로 봅니다. 100CPS 라 함은 초당 100개의 커넥션을 동시에 처리한다고 생각하면 됩니다.
  3. TPS (Transaction per Second) or RPS(Request per Second) : L7 에서 사용하는 대표적인 성능 측정 단위로 동시 커넥션 (Max concurrent Connection ) : 동시에 연결된 TCP 세션을 유지 하는 최대 수 Http v1.0 에 비해 Httpv1.1은 TCP 세션 하나를 지속적으로 수행하므로 한번 성립된 세션을 오래 지속할 필요가 있다. 이 성능은 프로세스나 커널에 부착된 메모리의 양에 의존적이다. (무한대로 까지 지원하는 경우는 메모리를 사용하지 않는 스테이트리스 로드밸런싱 알고리즘(해싱... )을 적용한 경우이다.) L7 에서는 TPS 나 RPS (Request per Second) 를 대표적인 성능 측정 단위로 사용한다.




[부연설명]

** 1CPS (L7의 경우는 형태가 달라 진다. )
              Client -----------(LB)----------- Server
Session Setup ----------- SYN ------------>
                     <-------- SYN ACK ----------
                      ----------- ACK ------------>
Get/Response ---------- GET -------------->
                         <------- Response ---------
Session Close ----------- FIN -------------->
                        <------- FIN ACK ------------
                       ----------- ACK ------------->

L7의 경우 통신 방식 Delay Binding을 사용한다.
             Client --------(LB)---------- Server
Session Setup -------- SYN -------->
                        <----- SYN ACK -----
                        -------- ACK -------->
Get/Response -------- GET -------->
                         ---------SYN-------->
                        <------SYN ACK-----
                        --------- ACK ------->
                        --------- GET -------->
                        <------ Response -----
                        <------ Response -----
         (반복 ~) --------- GET ------->
                         --------- GET ------->

                        <------ Response -----

        (~ 반복) <------ Response -----

Session Close -------- FIN --------->
                        <---- FIN ACK -------
                        -------- ACK -------->





[Reference]

** http://cafe.naver.com/loadbalancer.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=32

** http://en.wikipedia.org/wiki/Bit_rate

댓글 없음:

댓글 쓰기