Couchbase V(管理任务)

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

时间: 2024-11-05 19:32:52

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

Couchbase IV(管理与维护)

Couchbase IV(管理与维护) 管理 常用命令 Command Description server-list List all servers in a cluster server-info Show details on one server server-add Add one or more servers to the cluster server-readd Readd a server that was failed over rebalance Start a clus

Microsoft Azure系列之三 Microsoft Azure门户管理

Microsoft Azure 提供以下两种方式管理Azure资源和服务 一. Azure 门户 二. Azure Powershell 你需使用一个或多个与Azure 订阅相关的 Microsoft 帐户或组织帐户进行登录. Azure 门户管理 国际版 http://manage.windowsazure.com 中国版 http://manage.windowsazure.cn/ 使用完整门户,可以: v 提供服务 v 管理服务 v 添加协同管理员 详细功能: § 提供服务 您可以单击任何

JMM内存管理

原文地址http://www.cnblogs.com/BangQ/p/4045954.html 原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的内容还蛮多的,所以直接作为一个章节的基础知识来讲解,可能该章节概念的东西比较多.一个开发Java的开发者,一旦了解了JVM内存模型就能够更加深入地了解该语言的语言特性,可能这个章节更多的是概念,没有太多代码实例,所以希望读者谅解,有什么笔误来Email告知:[email protected],本文尽

介绍Visual Studio的Android模拟器

http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/12/introducing-visual-studio-s-emulator-for-android.aspx 微软发布了Visual Studio 2015预览这一周和你现在有选择为Android开发:c++,科尔多瓦,c# Xamarin的. 选择其中一个Android开发选项时,Visual Studio还将安装全新的Visual Studio Android模拟器调试应用程序

ADO面板上的控件简介

ADO面板上的控件简介 一. TADOConnection组件该组件用于建立数据库的连接.ADO的数据源组件和命令组件可以通过该组件运行命令及数据库中提取数据等.该组件用于建立数据库的连接,该连接可被多个数据集所共享,但是并不是应用程序中必须的,因为ADO数据集及命令组件通过设置其ConnectionString属性,可以直接连接到数据库.但是如果多个数据集使用相同的数据库连接时,则使用TADOConnection就有一定的优势,因为不必为每个数据集都单独建立数据库的连接,同时也减少了资源的消耗

架构师速成-架构体系

经过这段时间的反思和整理,终于对架构有了一个较为明确的理解.架构是产品从无到有以及慢慢壮大过程中所需要的全部技术体系总称,架构过程: 配置.编码.测试.运维.监控分析.安全.运营等一系列技术体系的选型.取舍 技术选型基础上进行规划.设计.实现.迭代.制定相关规范 相关技术及规范运用到产品开发的整个过程中,并在产品迭代过程中对架构进行迭代优化 架构不止包含技术的框架,比如有人用了spring就觉得我已经是架构师了,其实架构并不是这么简单.我们以做一个新浪微博类似产品为例,现实应该是这样的: 产品初

(转)JAVA内存模型

(原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的内容还蛮多的,所以直接作为一个章节的基础知识来讲解,可能该章节概念的东西比较多.一个开发Java的开发者,一旦了解了JVM内存模型就能够更加深入地了解该语言的语言特性,可能这个章节更多的是概念,没有太多代码实例,所以希望读者谅解,有什么笔误来Email告知:[email protected],本文尽量涵盖所有Java语言可以碰到的和内存相关的内容,同样也会提到一些和内存相关的计算机语言的一些

java内存模型及分块

转自:http://www.cnblogs.com/BangQ/p/4045954.html 1.JMM简介 2.堆和栈 3.本机内存 4.防止内存泄漏 1.JMM简介 i.内存模型概述 Java平台自动集成了线程以及多处理器技术,这种集成程度比Java以前诞生的计算机语言要厉害很多,该语言针对多种异构平台的平台独立性而使用的多线程技术支持也是具有开拓性的一面,有时候在开发Java同步和线程安全要求很严格的程序时,往往容易混淆的一个概念就是内存模型.究竟什么是内存模型?内存模型描述了程序中各个变

word-200-1

1, get at [] 理解:意指:贿赂:到达:着手处理 例: We want to get at the truth. Who killed him? And why? 我们想查明真相.谁杀了他?为什么? 2, take advantage of 利用 take advantage of: 利用 占便宜 趁 3, managing ['m?n?d???] v. 管理:设法对付(manage的ing形式) adj. 管理的:节约的:爱管闲事的 Managing: 管理 常务 管理过程 4, i