Created
May 11, 2017 13:30
-
-
Save rayhassan/3fe33a480e60976eed7a3abe23d3590f to your computer and use it in GitHub Desktop.
Couchbase sizing notes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
couchbase sizing/capacity planing | |
refs: | |
http://blog.couchbase.com/how-many-nodes-part-1-introduction-sizing-couchbase-server-20-cluster | |
5 key factors: | |
RAM | |
Disk | |
CPU | |
Network | |
Data distribution / safety | |
ROT minimums | |
3 nodes | |
4GB+ RAM | |
4+ CPU Cores | |
fast local storage | |
RAID10 - single DISK not great use LVM/RAID | |
Separate devices for install, data and indexes | |
keep working set below high water mark | |
monitor cache miss ratio/ resident item ratio | |
compaction - tuning .....30% default threshold, 60% better fro heavy writes | |
cbbackup/cbrestore | |
per bucket, multiple buckets aggregate | |
RAM sizing | |
Total RAM : | |
managed doc cache - workingset + metadata + replicas | |
index caching (I/O buffer) | |
working set ratio : | |
example ratios .. | |
late stage social game 0.1 | |
biz app 0.33 | |
ad network 1.0 | |
Disk Sizing: | |
o Sustained write rate | |
o rebalance capacity | |
o compaction ~3x overhead : data and index is append only | |
o Total Dataset : (active + replicas + indexes) | |
o Append only | |
CPU | |
o needed for XDCR, replication, compaction | |
o so now 8 core instead of 4 core say | |
o RAM r/w perf not impacted | |
o min prod req : 4 cores (8 cores for CB 4.0) | |
+1 per bucket | |
+1 core per Design Doc | |
+ 1 core per XDRC stream | |
network - rarely important but needs to be low lat/hi tp - eliminate router hops | |
running in VMs | |
1 couchbase VM per physical host | |
don't overcommit | |
Couchbase 4.0 - MDS | |
option 1. All 4 service on all nodes (aggregate sizing for Data + Index +Query) | |
option 2. separate services so nodes sized for workload type: | |
data: more node with more RAM, less disk, less CPU | |
index: fewer nodes with more RAM, more disk, less CPU | |
query: fewer modes with less RAM, less disk, more CPU | |
Monitoring: | |
o working set doesnt fit in RAM - cache miss rate/ disk fetches | |
o Disk I/O not keeping up - disk write queue size | |
o Internal repl lag - TAP q's | |
o Indexing not keeping up | |
o XDCR lag | |
Query perf - increase residual RAM, used for OS buffer cache | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment