09. 5. 25.

넷스케일러 Compression 적용 방법

Compression 정책 적용 방법 :
  1. 서비스 레벨의 정책 적용
    A. Compression 정책의 Global binding 적용
    B. 적용 대상 service 또는 servicegroup에 대한 CMP 옵션 적용
    (GUI에서 server 선택 후 open > advanced > compression 체크하거나 CLI에서 해당 서비스에 대한 set service 서비스네임 –cmp YES로 적용)
    C. Compression 기능 적용 됨
  2. VSERVER 레베리의 정책 적용
    A. Compression 정책의 Global Binding 적용 해제
    B. 적용 대상 service 또는 servicegroup에 대한 CMP 욥션 적용
    C. 적용 가능한 VSERVER에 compression 정책 적용ㄷ(GUI에서 VSERVER 선택 후 open > policies > compression 정책 적용)
    D. 해당 VSERVER에 대해서만 Compression 기능 적용 됨

적용 방법 또는 적용 범위의 차이일 뿐 기능이나 성능의 차이는 없다.

Compresion 설정 시 실제 Server의 중복 Compression 방지

실제 넷스케일러 시스템에서 Compression 정책을 적용 시 만약 서버에서도 동일하게 Compression을 적용되어 있다면 중복으로 Compression을 수행하여 불필요한 자원을 사용하게 된다.

이때 넷스케일러의 Rewrite 정책을 통해 사용자의 Request 해더 부분에서 Accept Enconding 부분을 제거하여 실제 사용자의 Request는 Accept Encoding 부분이 있지만 Compression 적용은 넷스케일러에서만 발생하도록 설정을 할 수 있다.

사용자의 Accept Encoding 제거 rewite 정책 샘플,
add rewrite action act_remAcceptEncoding delete_http_header Accept-Encoding
add rewrite policy pol_remAcceptEncoding TRUE act_remAcceptEncoding NOREWRITE

실제 서버의 Compression 기능의 적용 여부 확인이 어렵거나, 서버의 설정 변경 없이 넷스케일러에서 Compression 기능을 제공하기 위해서는 Rewrite 기능을 통해 쉽게 이런 문제를 해결할 수 있다.

넷스케일러의 정책설정과 성능관계

넷스케일러의 Policy Engine을 통해 정책을 설정할 때 CPU 성능과 밀접한 관계가 있기 때문에 상황에 따라 적절하게 정책을 설정하여 CPU 성능을 최적화할 필요성이 있다.

  • Operator를 "=="을 사용할 때(equal condition)
    Case Sensetive하며 wildcard(*)를 사용할 수 있고, CPU 영향을 최소화 할 수 있음.
  • Operator를 "Contains"를 사용할 때(contain condition)
    Case Sensetive하지 않으며, wildcard(*)를 사용할 수 없고, CPU 성능에 밀접한 관계가 있음.

넷스케일러의 정책을 통해 많은 기능이 구현되는 특징을 가진 솔루션이기 때문에 많은 정책을 통해 CPU 성능에 영향을 줄 수 있으며, 이를 최소화하는 방법으로 최적화 할 필요성이 있다.

많은 테스트 및 연습을 통해 이를 최적화하는 정책을 학습해야 한다.

09. 5. 22.

HTTP chunked mode

HTTP mode 중에 chunked mode란 서버에서 사용자의 요청에 대한 응답을 일정 사이즈로 분할하여 전송하는 규약이다.

만약 사용자의 request가 아래와 같다면,
GET / HTTP/1.1

HTTP 서버에 chunked 설정이 되어 있다면 아래와 같이 서버의 응답이 발생한다.
HTTP/1.1 200 OK
Date : Fri, 21 March 2009 10:00:10 GMT
Server : Apache/xxx.xxx.xxx.xxx
Transfer-Encoding : chunked
Content-Type : text/html

이와 같은 HTTP 서버의 chunked 속성은 서버에서 한번에 사용자에게 보낼 데이터 량(contents)이 많을 경우 일정량씩 나누어서 전송하겠다는 속성이다.

본문의 첫번째 숫자는보낼 contents의 숫자를 의미하여 마지막 숫자는 남아있는 contents량을 의미하며 모두 16진수로 표기된다.

09. 5. 11.

넷스케일러 NTP 설정

넷스케일러의 설정 시 자동으로 NTP 서버와의 동기화를 통해 시간 차를 1/1000 이하로 줄일 수 있으며, 이는 넷스케일러 시스템의 운영 시 로그 기록 시간 등의 다양한 이유에서 필요로 한다.

매번 시간 차이가 발생할 때마다 메뉴얼하게 date 명령어를 통해서 수정할 수 있으나, 사이트의 특성에 따라 로그의 기록 시점 등의 시간이 중요한 요소로 적용될 경우 자동으로 시간을 동기화 할 수 있도록 설정을 하는 것이 좋다.

NTP 설정은 간단하게 한번 설정하여 시간을 동기화하는 방법과 자동으로 동기화가 되도록 설정하는 방법 2가지를 사용할 수 있으며, 한번만 동기화하여 적용하는 방법은 아래와 같다.
  1. shell mode로 접속
    >shell
  2. 현재의 ntp 프로세스를 확인하여 동작 중이면 ntp 데몬을 kill 한다.
    #ps -auxgrep ntpd
    #kill pid
  3. ntpdate 명령을 사용하여 ntp 서버와 시간을 동기화 한다.
    (단, 명령어 실행 후 동기화 메세지가 제공되지 않으면 방화벽 등에 의해 해당 ntp 서버와의 연결에 문제가 없는지 확인한다.)
    #ntpdate 118.219.234.251 (ntp서버를 입력)
    1 Jun 11:04:43 ntpdate[61253]: step time server 118.219.234.251 offset -3809.780202 sec

NTP를 통한 자동 시간 동기화는 아래와 같은 단계로 설정이 가능하나, 적용을 위해서는 시스템의 재시작을 필요로 한다.

  1. /etc/rc.conf.default 파일을 /nsconfig/rc.conf로 복사
    이때 NTP 설정 부분, ntpd_enable="NO" 설정을 vi 편집기로 ntpd_enable="YES"로 설정을 변경
  2. /etc/ntpd.conf 파일을 /nsconfig/ntp.conf로 복사
    이때 실제 동기화를 위한 NTP 서버를 지정해야 하며, 한국에서 사용할 경우 time.bora.net NTP 서버와 잘 동작함을 확인하였음.
    server 203.248.240.103 burst
    restrict 203.248.240.103 mask 255.255.255.255
    위 두개의 항목에 대해서만 수정을 하면 됨.
    (여기서 203.248.240.103은 time.bora.net NTP서버 IP 주소)

설정 후 시스템을 정상적으로 재시작한 후 대략 3~5분 내로 시간이 동기화되어 정상적으로 운영됨을 확인할 수 있다. 만일 내부의 방화벽 등의 시스템에서 외부 NTP 서버와 차단이 발생할 경우 #nstcpdump host 203.248.240.103으로 정상적으로 통신이 이루어지는가에 대한 확인을 직접할 수 있다.

샘플 : ntpd.conf
# Netscaler NTP Configuration File
#
# Copy this file to /nsconfig, and make changes to /nsconfig/ntp.conf# Changes in /etc/ntp.conf will be lost following a reboot.
#
# Add the following line in /nsconfig/rc.conf to enable ntpd:
#
# ntpd_enable="YES"
#
# The following addresses are example addresses. There should be a# corresponding 'restrict' entry for every 'server' entry.
#
#example address
#server 1.2.3.4 burst
server 203.248.240.103 burst
restrict default ignore
#restrict 127.0.0.1 mask 255.255.255.255 (주석으로 해당 설정 해지)
#corresponds to 'server' entry above
#restrict 1.2.3.4 mask 255.255.255.255
restrict 203.248.240.103 mask 255.255.255.255

09. 5. 7.

citrix netscaler hardware and software compatibility guide

넷스케일러 하드웨어 및 소프트웨어 compatibility giude. 넷스케일러 하드웨어 모델 및 소프트웨어 호환성 관련 자료로써 현재 OS 7.0 이하 버젼은 모두 End of Service가되어 더 이상 지원을 하지 않습니다.

현재까지의 OS 버젼은 8.0 및 8.1 그리고 9.0 버젼을 서비스 중에 있습니다.

http://support.citrix.com/article/CTX113357?print

자세한 내용은 위 링크를 클릭하시면 됩니다.