사용자 도구

사이트 도구


memcached:moxi

문서의 이전 판입니다!


Moxi

Ubuntu 설치

  • Moxi Download 에서 다운로드
  • memcached 사용시에는 직접 옵션 줘서 실행
    • /opt/moxi/bin/moxi
  • CouchBase 사용시 설정정보
    • 설정 : /opt/moxi/etc
    • 실행 : /etc/init.d/moxi-server start

Memcached 사용시 권장 설정

  • memcached 사용시에는 cluster 설정이 없고, 접속할 memcached 서버 목록을 실행시 제공한다.
    ./moxi -z LISTEN_PORT=MEMCACHED_HOST1[:PORT1][,MEMCACHED_HOSTN[:PORTN]]
    ./moxi -z 11811=mc1:11211,mc2:11211

Options

  • -B [binary|ascii|auto] : 바이너리 프로토콜만 허용. 기본은 클라이언트의 요청을 분석하여 ASCII와 BINARY 자동반응. binary로 지정할 경우 stats, stats proxy 작동 안함.
  • -t [쓰레드갯수] : 작업 쓰레드 갯수를 지정한다. CPU Core 갯수보다 같거나 작게 지정한다.

상태보기

  • echo "stats" | nc moxihostname 11811 | sort
  • echo "stats proxy" | nc moxihostname 11811

CouchBase 사용시 권장 설정

  • Standalone Moxi Component 항목
  • moxi를 각 애플리케이션마다 다 띄우고, 각 독립 moxi가 전체 설정을 가지고 있는 Cluster Manager에 접속하여 설정 정보를 읽는 형태.

moxi.cfg

  • moxi 기본 설정

moxi-cluster.cfg

  • moxi 클러스터 관리 설정
    url=http://membase01:8091/pools/default/bucketsStreaming/default
  • 실행시 클러스터를 여러개 지정가능
    moxi http://membase0:8091/pools/default/bucketsStreaming/shoppingCarts,http://membase1:8091/pools/default/bucketsStreaming/shoppingCarts
  • 접속이 되는 곳에 접속을 맺고 정보를 주고 받는다.
  • 접속이 끊기면 다시 재접속을 시도한다.
  • reverse proxy로 하나의 URL로 접속하게 하는 것이 낫다.

Channel

Data Channel

  • memcached 데이터를 주고받는 채널. 기본 11211 포트

Management Channel

  • moxi 자체를 관리하고 설정하는 REST URL. 기본 8091 포트

High Availability(HA, Fail Over)

  • Moxi 자체를 여러대로 구성하고 client가 그 중에 살아있는 Moxi에 접속하게 할 것.
  • 클라이언트가 직접 Moxi에 붙지 말고 Moxi들 앞에 Load Balancer를 둘 것.
  • Moxi는 여러대 이더라도 일관성있는 Hashing을 하여 동일 Memcached에 동일 키가 접속 된다.

memcached 무응답시

  • Blacklist/Backoff : 특정 memcached가 응답이 없을 경우 일시적으로 더이상 해당 memcached에 요청을 보내지 않고 곧바로 오류를 리턴하는 기능.
  • 아예 해당 memcached를 목록에서 빼버리는 행동은 하지 않고, 다만 해당 memcached로 전달해야할 Key가 오면 즉각 오류를 리턴해서 성능상 불이익만 줄여주는 컨셉인 것으로 보임. 따라서 클라이언트는 빠르게 오류 메시지를 받게 된다. 어차피 캐시 이므로 오류 발생시 실 데이터소스로 부터 정보를 읽는다.
  • 꼭 원하면 설정을 변경하여 fail나는 memcached 빼고 재실행 해야 한다.
  • connect_max_errors=횟수에 지정된 값 이상의 커넥션 오류가 발생하면 Blacklist에 넣고 더이상 요청 보내기 중단.
  • connect_retry_interval=시간 ms로 blacklist로 지정한 뒤 다시 해당 서버로 요청을 재시도하기까지의 기간을 지정한다.
  • connect_max_errorsdownstream_conn_max(기본값 4)보다 큰 값으로 지정해야 한다.
memcached/moxi.1429499157.txt.gz · 마지막으로 수정됨: 2015/04/20 12:05 저자 kwon37xi