Couchbase V(管理任务)
Couchbase V(管理任务)
多读写
在Couchbase2.1中支持硬盘多读些(Multi- Readers and Writers),一般双核4G服务默认3个thread
4核16G内存一个设置为 8个线程
Server Warmup
在Couchbase重启后,需要经历热身阶段才能进入运行状态:
初始化,这阶段服务没有任何数据,将从vBucket中加载初始化各个vBucket的状态和数据。
Key Dump. 这阶段,主要加载key和metadata。
检查访问日志, 预读单个访问缓存日志(记录了key的频率),如果日志存在,就会先根据日志加载key,然后再从硬盘加载数据
加载key,后就会加载相关文档
在达到下面状态时,服务进入运行状态:
完成加载所有访问日志key的文档 ,或
加载完所有的vBuckets的文档, 或
内存所有的文档大于等于 ep_warmup_min_items_threshold, 或
RAM的百分比临近 ep_warmup_min_memory_threshold, 或
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(管理任务)的更多相关文章
- Couchbase IV(管理与维护)
Couchbase IV(管理与维护) 管理 常用命令 Command Description server-list List all servers in a cluster server-inf ...
- 由Memcached升级到 Couchbase的 Java 客户端的过程记录(一)
背景: 在项目启动的选用了Memcached 作为缓存服务器,采用了Xmemcached作为客户端.在项目中使用了Shiro,为了给 Shiro 配置缓存的时候,采用了开源代码 https://g ...
- Couchbase集群和Redis集群解析
Couchbase集群和Redis集群解析 首先,关于一些数据库或者是缓存的集群有两种结构,一种是Cluster;一种是master-salve. 关于缓存系统一般使用的就是Redis,Redis是开 ...
- JMM内存管理
原文地址http://www.cnblogs.com/BangQ/p/4045954.html 原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的 ...
- CouchBase数据库-一个较新的、发展迅速的nosql数据库技术
couchbase是一个较新的.发展迅速的nosql数据库技术.2014年,viber宣布使用couchbase替换mongodb,以适应10亿级的用户量,目前,couchbase已大量运用于生产环境 ...
- Couchbase集群
Couchbase集群 http://www.cnblogs.com/sunwubin/p/3426801.html Couchbase服务器可以单独运行,也可以作为集群运行.在Couchbase集群 ...
- Hyper V NAT 网络设置 固定IP / DHCP
Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...
- git 学习笔记7--branch
分支是git的必杀技. 站点另一个角度,分支是的快照移动有向图,刚好是拓扑排序的一种例子. basic git branch testing #创建分支 git checkout testing #切 ...
- java内存模型及分块
转自:http://www.cnblogs.com/BangQ/p/4045954.html 1.JMM简介 2.堆和栈 3.本机内存 4.防止内存泄漏 1.JMM简介 i.内存模型概述 Ja ...
随机推荐
- Linux下文件权限的设置
文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 ) 其语法格式为:chmod ...
- Problem D: 勤奋的涟漪2 dp + 求导
http://www.gdutcode.sinaapp.com/problem.php?cid=1049&pid=3 dp[i][state]表示处理了前i个,然后当前状态是state的时候的 ...
- Andriod 简介
Andriod系统采用分层架构,分为4层: 应用程序层(Applications) 包含所有安装在手机上的应用程序(包括系统自带的程序) 应用程序框架层(Application Framework) ...
- P1309 瑞士轮 未完成 60
题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低,但比赛过程往往十分 ...
- css:段落文本两端对齐
效果图: Css:
- iOS 创建xcode插件
苹果的"一个足以应付所有"策略使得它的产品越来越像一个难以下咽的药丸.尽管苹果已经将一些工作流带给了iOS/OS X的开发者,我们仍然希望通过插件来使得Xcode更加顺手! 虽然苹 ...
- android开发工具eclipse的安装与配置
l开发主要应用Eclipse 3.7版本. l辅助工具为jdk.Androidsdk Android环境搭建 –1.1.JDK安装 –1.2.Eclipse安装 –1.3.Android SDK安 ...
- PHP CLI应用的调试原理
我们在Eclipse里选中一个PHP文件,右键选择Debug As->PHP CLI Application. 所谓CLI应用,是指这种脚本文件不需要任何Web服务器即可运行,当然, PHP运行 ...
- Qt 为QPushButton、QLabel添加鼠标移入移出事件
QT 为QPushButton.QLabel添加鼠标移入移出事件**要实现的效果:**鼠标移入QPushButton时与移出时按钮变换字体颜色,鼠标移入QLabel时显示上面的文字,移出时不显示.** ...
- Python 中print 和return 的区别
1.print() print()函数的作用是输出数据到控制台,就是打印在你能看到的界面上. 2.return return语句[表达式]退出函数,选择性地向调用方返回一个表达式.不带参数值的retu ...