사용자 도구

사이트 도구


kb:couchbase

Couchbase

  • 찾아본 것 중에는 그나마 제일 쉽게 윈도우즈 상에서 설치할 수 있는 것 같다.
    • 윈도우에는 CPU를 많이 소모한다던지, 뭔가 동작이 이상하니, 리눅스에 설치하는 걸 추천

기본 개념

  • CLUSTER – 노드의 집합체
  • NODE – 클러스터의 구성원이 되는 하나의 머신
  • BUCKET – RDBMS에서의 데이터베이스라고 보면 된다. 두가지 타입이 있다.
    • Couchbase
      • 디스크에 저장 O
      • 노드 간에 복제를 지원 (최대 3개의 사본을 둘 수 있음)
    • Memcached
      • 디스크에 저장 X
      • 복제 지원 X
      • 장점이 뭐지???

목록

  • View – 뷰에 관한 내용들 정리
  • N1QL – N1QL에 관한 내용들 정리

Gotcha

High CPU

  • 3.0.1 Community Edition (build-1444) 기준으로 아무것도 안 하는데 CPU랑 스왑을 계속 먹는 현상이 있다?
  • 윈도우즈에서는 해당 현상이 나타났으나, 리눅스에 같은 버전을 설치하니 괜찮다. 윈도우 버전은 쓰면 좋지 않을 듯.

IDLE 커넥션 타임아웃

개발망에서 사용하는 서버(3.0.1)에서 사용자가 전혀 없는 경우, 대충 아래와 같은 메시지들이 뜨면서 stale 패킷이 발생했다.

couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E8680,IX=0) Failing command (pkt=000000001A1A6B00, opaque=306, opcode=0x1) with error 0x17
couchbase error - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E8680,IX=0) Server timed out. Some commands have failed
couchbase error - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9580,IX=0) Server timed out. Some commands have failed
couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9580,IX=0) Failing command (pkt=000000001A1CB580, opaque=307, opcode=0x1) with error 0x17
couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E8680,IX=0) Found stale packet (OP=0x1, RC=0x0, SEQ=306)
couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9580,IX=0) Found stale packet (OP=0x1, RC=0x0, SEQ=307)
couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9080,IX=0) Failing command (pkt=000000001A18B580, opaque=358, opcode=0x1) with error 0x17
couchbase error - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9080,IX=0) Server timed out. Some commands have failed

찾아보니, 아래와 같은 내용이 있었다.

http://docs.couchbase.com/admin/admin/Concepts/bp-deployment-considerations.html

Idle connection timeouts - Some firewall or proxy software will drop TCP connections if they are idle for a certain amount of time (e.g. 20 minutes). If the software does not allow you to change that timeout, send a command from the client periodically to keep the connection alive.

내부적으로 관리를 위해 오가는 패킷이 없는 모양이다. Blocking 모드로 사용하고 있으니, 딱히 보낼 수 없기도 하겠다. 타이머를 이용해 주기적으로 의미없는 동작을 시키니 에러가 사라졌다. –> 사라진 줄 알았는데, 다시 나타났다. –> 다시 사라짐. 그냥 내부망 문제였던 모양.

링크

kb/couchbase.txt · 마지막으로 수정됨: 2015/10/14 10:20 저자 excel96