How I can flush the RAM of A bucket(Leave the disk data not miss)?
I want to do benchmark for data warmup.I restart membase server(/etc/init.d/membase-server restart).But the memory usage not changed.
How I can make the memory usage changed to zero and leave the persistent data there?
Use flush_all?
Thank you For your Reply.Another Question:Two nodes to build a cluster,data set is the same in the two nodes.If I build a cluster with 5 nodes,How does the data set distributes?
When you start up a Membase cluster you specify a replica count. In the case you proposed above, your replica count is 1 (you can set it to be higher) and since you have two servers each server has 1/2 active data and 1/2 replica data:
Imagine a server with 18 key values.
Server 1:
Keys 1-9 (Active)
Keys 10-18 (Replica)
Server 2:
Keys 10-18 (Active)
Keys 1-9 (Replica)
To save me from a lot of typing I will do a 3 server example instead of a 5 server.
Server 1:
Keys 1-6 (Active)
Keys 13-18 (Replica)
Server 2:
Keys 7-12 (Active)
Keys 1-6 (Replica)
Server 3:
Keys 13-18 (Active)
Keys 7-12 (Replica)
This is a simplified view of how we do replication of data, but provides the higher level idea. Under the hood we actually have multiple vBuckets that are moved around and replicated between servers and key-value pairs are hashed into a specific vBucket. If you interested in going into more heavy details our wiki pages provide more in depth detail into exactly what is happening. One of the great things about Membase is that all of this replication is taken care of by Membase. As a user you just need to decide how many copies of data you want in the cluster.
http://techzone.couchbase.com/wiki/display/membase/Rebalancing+and+Repli...
http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/Mem...
No, you don't want to use flush_all as that will delete all the data in the bucket...including what's on disk.
I believe there's currently a bug around the memory usage not being properly reset in the UI when this happens though.
What are you trying to measure exactly? When a Membase server starts up, it will automatically begin loading the data from disk. You can monitor this process with:
"/opt/membase/bin/ep_engine/management/stats :11210 all [bucket_name] [bucket_password] | grep warm"
That will give you the time that the warmup has been running (or how long it took to complete) and how many items it read from disk. That should give you a pretty good benchmark, no?
Perry
Forum support is great for free but sometimes you need a guaranteed response time and dedicated resources for your questions or issues.
Consider purchasing enterprise-level support from Couchbase: http://www.couchbase.com/products-and-services/overview
Call or email "sales -at- couchbase-dot- com" today!