moxi는 죽은 memcached서버를 인식해서 일정시간 동안 요청을 안보내긴 하지만, 죽은 서버에 대한 요청을 다른쪽으로 자동으로 redistribute하지는 않는다.
따라서 memcached가 죽으면 빠르게 살리거나(그러면 moxi가 다시 서버군에 넣어줌), moxi에서 죽은 서버를 빼서 재설정해야 한다.
여러대의 memcached가 받아야할 대역폭을 moxi 가 혼자 감당해야 하기 때문에 해당 망의 대역폭과 moxi 가 설치된 서버의 대역폭을 충분히 확보해야만 한다.
/opt/moxi/bin/moxi
/opt/moxi/etc
/etc/init.d/moxi-server start
memcached 사용시에는 cluster 설정이 없고, 접속할 memcached 서버 목록을 실행시 제공한다.
./moxi -z LISTEN_PORT=MEMCACHED_HOST1[:PORT1][,MEMCACHED_HOSTN[:PORTN]] ./moxi -z 11811=mc1:11211,mc2:11211
-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
echo "stats proxy config" | nc moxihostname 11811
: 프록시 설정 보여줌# 아래 명령으로 moxi를 띄웠을 때 ./dev/moxi/moxi -z 11211=127.0.0.1:11411,127.0.0.1:11511 # 다음과 같이 출력됨. echo stats proxy config | nc 127.0.0.1 11211 STAT 11211:default:config 127.0.0.1:11411,127.0.0.1:11511 END
echo "stats proxy timings" | nc moxihostname 11811
: -Z time_stats=1
옵션으로 moxi를 실행했을 때url=http://membase01:8091/pools/default/bucketsStreaming/default
moxi http://membase0:8091/pools/default/bucketsStreaming/shoppingCarts,http://membase1:8091/pools/default/bucketsStreaming/shoppingCarts
11211
포트8091
포트connect_max_errors=횟수
에 지정된 값 이상의 커넥션 오류가 발생하면 Blacklist에 넣고 더이상 요청 보내기 중단.connect_retry_interval=시간 ms
로 blacklist로 지정한 뒤 다시 해당 서버로 요청을 재시도하기까지의 기간을 지정한다.connect_max_errors
는 downstream_conn_max(기본값 4)
보다 큰 값으로 지정해야 한다.