Couchbase V(管理任務)

Couchbase V(管理任務)

多讀寫

在Couchbase2.1中支持硬盤多讀些(Multi- Readers and Writers),通常雙核4G服務默認3個threadnode

4核16G內存一個設置爲 8個線程git

Server Warmup

在Couchbase重啓後,須要經歷熱身階段才能進入運行狀態:github

  1. 初始化,這階段服務沒有任何數據,將從vBucket中加載初始化各個vBucket的狀態和數據。shell

  2. Key Dump. 這階段,主要加載key和metadata。緩存

  3. 檢查訪問日誌, 預讀單個訪問緩存日誌(記錄了key的頻率),若是日誌存在,就會先根據日誌加載key,而後再從硬盤加載數據線程

  4. 加載key,後就會加載相關文檔日誌

在達到下面狀態時,服務進入運行狀態:code

  1. 完成加載全部訪問日誌key的文檔 ,或orm

  2. 加載完全部的vBuckets的文檔, 或server

  3. 內存全部的文檔大於等於 ep_warmup_min_items_threshold, 或

  4. RAM的百分比臨近 ep_warmup_min_memory_threshold, 或

  5. RAM的使用臨近 mem_low_wat

若是服務在warmup狀態, 客戶端鏈接回報 ENGINE_TMPFAIL code 錯誤。

獲取 Warmup 信息

使用cbstats獲取warmup 信息,但一次只能獲取一個節點一個bucket的信息:

shell> cbstats localhost:11210 -b beer_sample -p bucket_password all | grep 'warmup'
shell> cbstats hostname:11210 -b my_bucket -p bucket_password raw warmup
ep_warmup_thread
Indicates if the warmup has completed. Returns "running" or "complete".
ep_warmup_state

Indicates the current progress of the warmup:

  • Initial

    Start warmup processes.
  • EstimateDatabaseItemCount

    Estimating database item count.
  • KeyDump

    Begin loading keys and metadata based, but not documents, into RAM.
  • CheckForAccessLog

    Determine if an access log is available. This log indicates which keys have been frequently read or written.
  • LoadingAccessLog

    Load information from access log.
  • LoadingData

    This indicates the server is loading data first for keys listed in the access log, or if no log available, based on keys found during the 'Key Dump' phase.
  • Done

    Server is ready to handle read and write requests.

修改 Warmup 的閾值

經過 cbepctl 設定 ep_warmup_min_items_threshold 能夠改變warmup的行。

改變訪問掃描的頻率

服務默認天天2:00 AM UTC運行一次掃面訪問日誌,而決定key的使用頻率:

# 每二十分鐘掃描一次
shell> ./cbepctl localhost:11210 -b beer-sample set flush_param alog_sleep_time 20

複製與副本

每一個集羣的node 都有兩種數據 replica data and active data,replica data是其餘節點的副本數據, active data是客戶端寫的數據。

Couchbase使用 p2p策略進行寫副本, 而且只能調節寫的速度。

副本策略

一般設置3個副本,是很是有用的

相關文章
相關標籤/搜索