Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

7.1. 최적화 요소

DRX의 최적화는 DRX가 제공하는 버퍼링과 압축 기능이 최적의 성능을 낼 수 있도록 DRX 내부 파라미터를 조절하거나 또는 시스템의 설정을 변경하는 것으로 수행합니다. DRX가 낼 수 있는 버퍼링의 성능은 10Gbps 네트워크에서 최대 6~7 Gbps 수준이며 압축 수행 시 이 수치에 1.5배 이상의 처리량을 보일 때 적절한 성능을 낸다고 볼 수 있습니다. 그러나 이러한 고성능의 수치는 TX 측면의 네트워크 대역이 충분하다는 전제하의 수치이며, 보통 WAN 구간 상에선 TX 네트워크 대역이 상당히 낮기 때문에 I/O 부하가 커지는 즉시  DRX 버퍼가 채워지면서 결국 혼잡상태에 이르게 되어 최적화를 수행하기 위한 여건을 만들기 어렵습니다. 이러한 상황을 감안하여 DRX에선 복제 I/O에 대한 적정한 수준의 시뮬레이션을 수행하는 drbdsim 을 별도 도구로 제공합니다. 일반적으로 네트워크 대역은 iperf 와 같은 도구로 확인할 수 있으며 iperf 는 네트워크가 낼 수 있는 최대 대역을 산출합니다. drbdsim은 로컬 drbdsim에서 DRX로 I/O 부하를 주입시키고 WAN 구간으로 릴레이한 데이터를 원격 drbdsim에서 수신하여 DRX가 네트워크에서 처리할 수 있는 순수한 처리량을 산출 합니다. 따라서 drbdsim에서 산출한 처리량이 iperf 의 수치와 비슷하거나 또는 drbdsim 수치가 그 이상일 때(압축을 할 경우) DRX가 적절한 성능을 발휘한다고 할 수 있습니다. 반대로 drbdsim의 수치가 iperf 수치에 비해 상당히 낮다면 DRX 설정에 일부 조정이 필요하다고 생각될 수 있습니다.

이런 방식으로 drbdsim을 통해 WAN 구간의 대역 상황을 미리 파악하여 DRX의 기본 버퍼링 성능을 점검하고 그에 따라 DRX 버퍼의 적정한 크기를 산정하거나 압축 사용 여부를 판단합니다. 

이상의 내용을 토대로 했을 때 최적화의 요소는 다음으로 요약됩니다.

  • 복제 I/O 부하
  • 네트워크 대역
  • DRX 버퍼링
  • 압축

로컬 I/O 측면의 지연(latency), 처리량(throughput) 최적화는 복제 측면의 최적화로 다루어져야 합니다. 이에 대해선 다음의 내용을 참고하십시요


7.2. 성능지표

DRX의 성능지표는 DRX에서 제공하는 CLI 명령들을 통해 확인 할 수 있습니다.

  • 버퍼: memusage
  • 압축: statistics

7.3. 최적화 절차

7.3.1 버퍼 크기 조절

7.3.2 압축 쓰레드 개수 조절

7.4. 기타

DRX 전용 어플라이언스의 경우 DRBD와 연동되는 로컬 복제 I/O 수신 구간에 대해 최적화를 수행할 수 있습니다. DRX는 기본적으로 응용주소 공간에서 버퍼링을 수행하도록 되어 있어서 DRBD와 직접적으로 연동되는 어플라이언스의 OS 커널의 수신성능에 따라 버퍼링 성능 차이가 있을 수 있습니다. 따라서 이 OS 커널 소켓의 수신버퍼를 조절하여 RX 수신 성능이 더욱 향상되도록 조절할 수 있습니다. OS 커널의 수신버퍼를 충분히 확보할 수 있도록 다음과 같은 내용을 OS 커널에 적용할 필요가 있습니다.



4. 성능 최적화

원격지로 복제 데이터를 전송할 때 DRX가 사용하는 버퍼링(이하 BAB) 사용률로 성능을 가늠할 수 있습니다. 

4.1. BAB 최적화

복제가 진행중일 때도 BAB의 Full Counts값은 0이 유지되야하며 사용률(Use)은 지속적으로 증가하지 않고 균일한 사용량를 유지해야 합니다. 

4.1.1 BAB 사이즈 

운영 머신에서 측정한 I/O로 BAB 사이즈를 결정했으나 실운영에서 사용률(Use)이 높다면 BAB 사이즈를 조정해야 합니다. 

  • BAB 사이즈
  • BAB 사용률 확인 명령어 

    • 명령어 

      [root@c73-p1 logs]# drx-ctl show memusage
    • 출력 결과 

      print memusage
      [root@c73-p1 logs]# drx-ctl show memusage
      Command id (2) : show memusage
      ================================================================================================================================================
      Name                             Capacity                   Begin            End              Size                       Full Counts      Use     
      ================================================================================================================================================
      DR-4-6-c73-p2-c73-p1             524288000 (500.00 MB)      997              997              0 (0.00 B)                 0                0 %     
                                       10485760 (10.00 MB)        0                0                0 (0.00 B)                 -                0 %     
      ------------------------------------------------------------------------------------------------------------------------------------------------
       Active bab counts : 1
      -------------------------------------------------------------------------------------------------------------
      name                              Latency              cur              avg              max              min
      =============================================================================================================
      DR-4-6-c73-p2-c73-p1               TX BAB  00:00:00.001359  00:00:00.001136  00:00:00.001730  00:00:00.000206
                                         RX BAB  00:00:00.000000  00:00:00.000000  00:00:00.000000  00:00:00.000000
                                       Compress  00:00:00.000000  00:00:00.000000  00:00:00.000000  00:00:00.000000
                                     Decompress  00:00:00.000000  00:00:00.000000  00:00:00.000000  00:00:00.000000
      -------------------------------------------------------------------------------------------------------------
      
      [root@c73-p1 logs]#
    • 결과 확인
      • 사용률 : 총 500MB를 BAB로 설정했으며 Full Counts 는 0이며 사용률(Use)도 0%입니다.
      • 지연 시간 : TX BAB의 지연 시간 평균(avg)은 0.001136초(1.136 ms) 입니다. 
4.1.2 BAB 사용률 

대역폭보다 평균 I/O가 크면 압축 플러그인을 적용해서 원격지로 전송되는 데이터를 줄여서 BAB의 사용률(Use)을 줄일 수 있습니다.

  • 플러그인 설정 방법
    • 리소스 설정의 Proxy항목에 플러그인 항목을 추가합니다.
    • 플러그인 항목

      proxy { 
      	plugin {
      		compressor iqa level 1;
      	}
      }
    • DRX를 재시작 합니다. (DRX 1.1 기준)
  • 플러그인 사용 전
    • 환경
      • drbdsim을 이용해서 1Gbps의 대역폭으로 전송
      • BAB 사용률(Use)
        • 지속적으로 증가해서 Full Counts가 발생하고 있으며 TX BAB의 평균 Latency도 계속 증가하고 있습니다. 
          Command id (2) : show memusage
          ================================================================================================================================================
          Name                             Capacity                   Begin            End              Size                       Full Counts      Use
          ================================================================================================================================================
          r0-74qat-p2-74qat-p1             524288000 (500.00 MB)      129088           482456776        482327688 (459.98 MB)      7690             91 %
                                           10485760 (10.00 MB)        0                0                0 (0.00 B)                 -                0 %
          ------------------------------------------------------------------------------------------------------------------------------------------------
           Active bab counts : 1
          -------------------------------------------------------------------------------------------------------------
          name                              Latency              cur              avg              max              min
          =============================================================================================================
          r0-74qat-p2-74qat-p1               TX BAB  00:00:03.578904  00:00:03.069622  00:00:04.859810  00:00:00.000200
                                             RX BAB  00:00:00.000000  00:00:00.000000  00:00:00.000000  00:00:00.000000
                                           Compress  00:00:00.000000  00:00:00.000000  00:00:00.000000  00:00:00.000000
                                         Decompress  00:00:00.000000  00:00:00.000000  00:00:00.000000  00:00:00.000000
          
          
  • 플러그인 사용 후
    • 환경 
      • drbdsim을 이용해서 1Gbps의 대역폭으로 전송
      • 압축 플러그인 QAT Level 1으로 설정
    • BAB 사용률(Use)
      • 사용률(Use)의 증가는 미미한 수준을 유지하고 있습니다.

      • TX BAB의 평균 Latency는 0.33초로써 비압축보다 약 10배의 빠른 속도를 보이고 있습니다. 

        Command id (2) : show memusage
        ================================================================================================================================================
        Name                             Capacity                   Begin            End              Size                       Full Counts      Use
        ================================================================================================================================================
        r0-74qat-p2-74qat-p1             524288000 (500.00 MB)      53524805         53524805         0 (0.00 B)                 0                0 %
                                         10485760 (10.00 MB)        0                0                0 (0.00 B)                 -                0 %
        ------------------------------------------------------------------------------------------------------------------------------------------------
         Active bab counts : 1
        -------------------------------------------------------------------------------------------------------------
        name                              Latency              cur              avg              max              min
        =============================================================================================================
        r0-74qat-p2-74qat-p1               TX BAB  00:00:00.685379  00:00:00.333085  00:00:00.703398  00:00:00.000978
                                           RX BAB  00:00:00.000000  00:00:00.000000  00:00:00.000000  00:00:00.000000
                                         Compress  00:00:00.000364  00:00:00.000365  00:00:00.011063  00:00:00.000039
                                       Decompress  00:00:00.000000  00:00:00.000000  00:00:00.000000  00:00:00.000000
        -------------------------------------------------------------------------------------------------------------

4.2 압축 쓰레드 개수 조정 (작성중)

압축  쓰레드의 개수를 조정해서 

4.2.1 압축 쓰레드 개수 조정하는 방법



  • No labels