Tom,

In addition to Matt's links above, I would recommend to take a look at the
following pages:

http://docs.basho.com/riak/latest/references/appendices/Cluster-Capacity-Planning/
and
http://docs.basho.com/riak/latest/tutorials/System-Planning/

The short version is:
* RAM is important, especially with Bitcask. I personally wouldn't give
nodes less than 16GB each, though I suppose they could run with 8. (The
reason I mention Bitcask, is because it stores all of its keys in memory,
and if you have too many keys and too little memory, you're going to run
out. See
http://docs.basho.com/riak/latest/references/appendices/Bitcask-Capacity-Planning/for
a calculator that can help you ensure how much RAM you need, if you
know how many millions of keys you're going to store, and how large each
one is)

* Disk IO speed is very important, and is usually the bottleneck for
clusters. RAID or SSDs are helpful. If you're running on AWS, disk IO is
especially killer, so spring for sufficient Provisioned IOPS.

* Network bandwidth is important (between the nodes). If your cluster has
the default replication setting of N=3, each read or write request to a
node results in potentially 3 network requests to other nodes (this is in
addition to background-level "gossip" between the nodes, as they try and
maintain consistency, perform read-repair and so on). So basically, use the
fastest network speed you can afford (that makes sense for your
application). If you can spring for Gigabit+, go for it. If the application
is especially time-sensitive and is under high load, it may make sense to
have 2 network adapters for each node -- one for external client requests,
and one for internal inter-node traffic.

* If you're running on AWS, your minimum instance size should be m1.large,
though really, you should use xlarge. (And don't forget about those PIOPS).

Does that help clarify?

Dmitri




On Mon, Apr 22, 2013 at 7:11 PM, Matt Black <matt.bl...@jbadigital.com>wrote:

> There's a lot of information in here:
>
> http://docs.basho.com/riak/latest/cookbooks/Linux-Performance-Tuning/
>
> And the sister article, specific to AWS:
>
> http://docs.basho.com/riak/latest/cookbooks/Performance-Tuning-AWS/
>
> As ever with Riak, the answer to your question depends on what you're
> doing :)
>
>
> On 23 April 2013 02:07, Tom Zeng <t...@intridea.com> wrote:
>
>>  Hi,
>>
>> I am wondering if there are any docs/recommendations on server hardware
>> specs for production Riak instances - cores, clock speed, network
>> interfaces/bandwidth, hard drive raid vs ssd, and etc.
>>
>> Tom
>> Thanks,
>> --
>> Tom Zeng
>> Director of Engineering
>> Intridea, Inc. | www.intridea.com
>> t...@intridea.com
>> (o) 888.968.4332 x519
>> (c) 240-643-8728
>>
>> _______________________________________________
>> riak-users mailing list
>> riak-users@lists.basho.com
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>
>>
>
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
>
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to