When you say "CPU" does that mean "logical CPU core"? Or is this actually
referring to physical CPU cores?

E.g. On my laptop with 4 physical cores + HyperThreading, should I set +S
to +S 4:4

You hint that it doesn't matter, but I just wanted to trick you into
explicitly saying something.

---
Jeremiah Peschka - Founder, Brent Ozar Unlimited
MCITP: SQL Server 2008, MVP
Cloudera Certified Developer for Apache Hadoop


On Tue, Aug 13, 2013 at 5:38 PM, Matthew Von-Maszewski
<matth...@basho.com>wrote:

> ** The following is copied from Basho's leveldb wiki page:
>
> https://github.com/basho/leveldb/wiki/Riak-tuning-1
>
>
>
> Summary:
>
> leveldb has a higher read and write throughput in Riak if the Erlang
> scheduler count is limited to half the number of CPU cores. Tests have
> demonstrated improvements of 15% to 80% greater throughput.
>
> The scheduler limit is set in the vm.args file:
>
> +S x:x
>
> where "x" is the number of schedulers Erlang may use. Erlang's default
> value of "x" is the total number of CPUs in the system. For Riak
> installations using leveldb, the recommendation is to set "x" to half the
> number of CPUs. Virtual environments are not yet tested.
>
> Example: for 24 CPU system
>
> +S 12:12
>
> Discussion:
>
> We have tested a limited number of CPU configurations and customer loads.
> In all cases, there is a performance increase when the +S option is added
> to the vm.args file to reduce the number of Erlang schedulers. The working
> hypothesis is that the Erlang schedulers perform enough "busy wait" work
> that they always create context switch away from leveldb when leveldb is
> actually the only system task with real work.
>
> The tests included 8 CPU (no hyper threading, physical cores only) and 24
> CPU (12 physical cores with hyper threading) systems. All were 64bit Intel
> platforms. Generalized findings:
>
>         • servers running higher number of vnodes (64) had larger
> performance gains than those with fewer (8)
>         • servers running SSD arrays had larger performance gains than
> those running SATA arrays
>         • Get and Write operations showed performance gains, 2i query
> operations (leveldb iterators) were unchanged
>         • Not recommended for servers with less than 8 CPUs (go no lower
> than +S 4:4)
>
> Performance improvements were as high as 80% over extended, heavily loaded
> intervals on servers with SSD arrays and 64 vnodes. No test resulted in
> worse performance due to the addition of +S x:x.
>
> The +S x:x configuration change does not have to be implemented
> simultaneously to an entire Riak cluster. The change may be applied to a
> single server for verification. Steps: update the vm.args file, then
> restart the Riak node. Erlang command line changes to schedules were
> ineffective.
>
> This configuration change has been running in at least one large,
> multi-datacenter production environment for several months.
>
>
> _______________________________________________
> 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