Couchbase V(管理任务)

多读写

在Couchbase2.1中支持硬盘多读些(Multi- Readers and Writers),一般双核4G服务默认3个thread

4核16G内存一个设置为 8个线程

Server Warmup

在Couchbase重启后,需要经历热身阶段才能进入运行状态:

  1. 初始化,这阶段服务没有任何数据,将从vBucket中加载初始化各个vBucket的状态和数据。

  2. Key Dump. 这阶段,主要加载key和metadata。

  3. 检查访问日志, 预读单个访问缓存日志(记录了key的频率),如果日志存在,就会先根据日志加载key,然后再从硬盘加载数据

  4. 加载key,后就会加载相关文档

在达到下面状态时,服务进入运行状态:

  1. 完成加载所有访问日志key的文档 ,或

  2. 加载完所有的vBuckets的文档, 或

  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个副本,是非常有用的

Couchbase V(管理任务)的更多相关文章

  1. Couchbase IV(管理与维护)

    Couchbase IV(管理与维护) 管理 常用命令 Command Description server-list List all servers in a cluster server-inf ...

  2. 由Memcached升级到 Couchbase的 Java 客户端的过程记录(一)

    背景: 在项目启动的选用了Memcached 作为缓存服务器,采用了Xmemcached作为客户端.在项目中使用了Shiro,为了给 Shiro 配置缓存的时候,采用了开源代码   https://g ...

  3. Couchbase集群和Redis集群解析

    Couchbase集群和Redis集群解析 首先,关于一些数据库或者是缓存的集群有两种结构,一种是Cluster;一种是master-salve. 关于缓存系统一般使用的就是Redis,Redis是开 ...

  4. JMM内存管理

    原文地址http://www.cnblogs.com/BangQ/p/4045954.html 原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的 ...

  5. CouchBase数据库-一个较新的、发展迅速的nosql数据库技术

    couchbase是一个较新的.发展迅速的nosql数据库技术.2014年,viber宣布使用couchbase替换mongodb,以适应10亿级的用户量,目前,couchbase已大量运用于生产环境 ...

  6. Couchbase集群

    Couchbase集群 http://www.cnblogs.com/sunwubin/p/3426801.html Couchbase服务器可以单独运行,也可以作为集群运行.在Couchbase集群 ...

  7. Hyper V NAT 网络设置 固定IP / DHCP

    Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...

  8. git 学习笔记7--branch

    分支是git的必杀技. 站点另一个角度,分支是的快照移动有向图,刚好是拓扑排序的一种例子. basic git branch testing #创建分支 git checkout testing #切 ...

  9. java内存模型及分块

    转自:http://www.cnblogs.com/BangQ/p/4045954.html 1.JMM简介 2.堆和栈 3.本机内存 4.防止内存泄漏   1.JMM简介   i.内存模型概述 Ja ...

随机推荐

  1. Linux下文件权限的设置

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 ) 其语法格式为:chmod ...

  2. Problem D: 勤奋的涟漪2 dp + 求导

    http://www.gdutcode.sinaapp.com/problem.php?cid=1049&pid=3 dp[i][state]表示处理了前i个,然后当前状态是state的时候的 ...

  3. Andriod 简介

    Andriod系统采用分层架构,分为4层: 应用程序层(Applications) 包含所有安装在手机上的应用程序(包括系统自带的程序) 应用程序框架层(Application Framework) ...

  4. P1309 瑞士轮 未完成 60

    题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低,但比赛过程往往十分 ...

  5. css:段落文本两端对齐

    效果图: Css:

  6. iOS 创建xcode插件

    苹果的"一个足以应付所有"策略使得它的产品越来越像一个难以下咽的药丸.尽管苹果已经将一些工作流带给了iOS/OS X的开发者,我们仍然希望通过插件来使得Xcode更加顺手! 虽然苹 ...

  7. android开发工具eclipse的安装与配置

    l开发主要应用Eclipse 3.7版本. l辅助工具为jdk.Androidsdk Android环境搭建   –1.1.JDK安装 –1.2.Eclipse安装 –1.3.Android SDK安 ...

  8. PHP CLI应用的调试原理

    我们在Eclipse里选中一个PHP文件,右键选择Debug As->PHP CLI Application. 所谓CLI应用,是指这种脚本文件不需要任何Web服务器即可运行,当然, PHP运行 ...

  9. Qt 为QPushButton、QLabel添加鼠标移入移出事件

    QT 为QPushButton.QLabel添加鼠标移入移出事件**要实现的效果:**鼠标移入QPushButton时与移出时按钮变换字体颜色,鼠标移入QLabel时显示上面的文字,移出时不显示.** ...

  10. Python 中print 和return 的区别

    1.print() print()函数的作用是输出数据到控制台,就是打印在你能看到的界面上. 2.return return语句[表达式]退出函数,选择性地向调用方返回一个表达式.不带参数值的retu ...