作为内存数据库的riak
riak的邮件列表近的讨论
[url=http://lists.basho.com/pipermail/riak-users_lists.basho.com/2013-July/012585.html]riak_kv_memory_backend in production[/url]
Here are some suggestions for running the memory backend in production:
1. Since you are running a single node cluster, set your n_val to 1 [1]
2. Make sure you set the max_memory parameter [2] to prevent the node
from OOM'ing.
3. In order to get greater concurrency and throughput with the memory
backend, I suggest increasing your ring_creation_size to 128 or 256.
You might need to test which is more performant on your hardware.
4. Turn anti_entropy off. It will just be unnecessary overhead with
your workload.
5. Make sure your ulimit is raised [3]
6. Apply our recommended system tunings [4]
7. You may need to raise some Erlang resource limits in your vm.args file [5]
[1] http://docs.basho.com/riak/latest/references/Configuration-Files/#app-config
[2] http://docs.basho.com/riak/latest/tutorials/choosing-a-backend/Memory/#Enabling-and-Configuring-the-Memory-Backend
[3] http://goo.gl/6LCiq
[4] http://docs.basho.com/riak/latest/cookbooks/Linux-Performance-Tuning/#Linux-Tuning
[5] http://goo.gl/bRzeT
Btw, another alternative is to use the leveldb memory-backend impl
(prevents gc/storage overhead from erlang tables). You'll have to patch up
basho's fork of leveldb and include/compile/enable the memory-backend impl
from stock leveldb.
> We have a need to store transient data just in
> memory ( never hitting persistent store). I'm testing riak on aws with 3
> node cluster and looks good so far. Just wanted to find out what kind of
> setup people are using in production.
————————————————
版权声明:本文为CSDN博主「iteye_13453」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iteye_13453/article/details/82521356
相关文章