Greate thanks to all of you!
I'm very sorry for a late response!
Is it polite to make a reply to all in one email? (If not, ask for forgiveness)

To Alexander:
There are 2 physical machines in our cluster, and 5 riak VMs on each machine.
Two physical CPUs in each machine (totally 12 cores), and I assigned 2 cores 
for each riak VM.
All the 12 riak VMs are based on the same shared storage server (by 
FreeNAS+iSCSI), whicn means all riak VMs don't use machines' local disks as 
their storage.
And they are in a 1Gb LAN, each physical machine has 6 NICs, 4 of them are for 
iSCSI(multipath).
So the network bandwidth is probably not the bottleneck, but disk IO probably 
be.

To Sean Cribbs:
Yes, as you said, more "concurrent" means more load for basho benchmark machine.
But during my previous tests, I noticed that cpu utilization of basho benchmark 
machine is about 50%.
But I want to try run basho benchmark tool on two machines as you suggested.
I noticed the command "basho_bench" has an option "-J --join", I tried but 
faild with error report  "escript: exception throw: 
{no_host,'root@10.11.20.44'} ".
I have configured SSH public-key&no-password login for those two basho 
benchmark machines(they have same environments like  OS,erlang and basho 
benchmark versions). I searched about this, but didn't find how to run basho 
benchmark tool on two separate machines.
Could you tell me how to do or is there any guidance about this?

To Christian Dahlqvist:
Thanks for your tips, and I think we will try "basho_bench_driver_riakc_pb".
Not only because of this "Horizontal Scalability" problem, but also for better 
performance.
And also, I will change the key generator for subsequent tests.

To Evan Vigil-McClanahan:
Yes, I am using Riak 2.0 for tests.
And "numa zones", "sbt"? Sorry I know little about this, but I will read more 
about this to check if it can help me.

I will run more tests with the suggestions from all of you!
Thank you again!
And I will let you know if get any progress or result.











From: Sean Cribbs
Date: 2014-03-08 06:54
To: Alexander Sicular
CC: yanqun....@mesheven.com; riak-users
Subject: Re: Questions about the Riak Horizontal Scalability
Note as well that the 'concurrent' setting will *not* typically increase 
throughput beyond a certain point (instead you will simply have many workers 
waiting in the run queue). You are also only driving load from a single machine 
with limits on its CPU and network throughput. Start by trying a more 
reasonable concurrency level, like two (2) times the number of CPU cores in the 
basho_bench machine. Also consider running basho_bench from multiple machines 
at once. Consider the line rate of your network as well; in the past I have 
easily been able to saturate a gigabit network with basho_bench.



On Fri, Mar 7, 2014 at 4:45 PM, Alexander Sicular <sicul...@gmail.com> wrote:

How many physical machines (disks/cores/nics) are in your cluster?


-Alexander


@siculars
http://siculars.posthaven.com


Sent from my iRotaryPhone

On Mar 6, 2014, at 22:07, "yanqun....@mesheven.com" <yanqun....@mesheven.com> 
wrote:


Greetings all... 

I am running tests with Riak Cluster.
When this cluster has only one node, the max throughput is about 1500 ops/s(CPU 
becomes the bottleneck).
But after I added 4 more nodes into the cluster,  no matter how I changed the 
configuration file of Basho benchmark tool, 
the number of throughput have never been more than ~3500 ops/s.
CPU utilization on each node is about 60~65% (captured by iostat and sar)

And when I added 5 more nodes(10 nodes totally), it is the same result.
And CPU utilization on each node is about 60%.
I  can't understand why.

During the tests, I tried:
1)Change ring size from 64 to 128
2)Change basho benchmark configuration file, like "mode","concurrent" and 
"key_generator"...
3)Modify some system limits on both riak nodes and basho bench servers, such as 
file descriptor  , tcp settings.
4)Monitoring system like cpu, memory and IO, and none of them become the 
bottleneck.
5)Monitoring the basho bench server,  low load.

Any ideas?
Or did I make any mistakes in my configuration file?

Configuration file of Basho benchmark tool:
===================================================================
{mode, max}.
{duration, 15}.
{concurrent,    500}.
{driver, basho_bench_driver_http_raw}.
{http_raw_ips, 
["10.11.20.46","10.11.20.47","10.11.20.48","10.11.20.49","10.11.20.50","10.11.20.51","10.11.20.52","10.11.20.53"]}.
{http_raw_port, 8098}.
{http_raw_path, "/riak/test"}.
{key_generator, {partitioned_sequential_int, 
1000000000000000,8000000000000000}}.  %%we want 16 bytes long key-length 
{value_generator, {fixed_bin, 1024}}. %%1KB
{operations, [{insert,4}, {get,6}]}.
===============================================================================

Here are our server specifications(VMs based on Xenserver):
1)Riak nodes: 2cores + 4GB RAM + 20GB disk
2)Basho benchmark, 4 cores + 4GB RAM, 30GB disk.

Thank you very much !
_______________________________________________
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







-- 
Sean Cribbs <s...@basho.com>
Software Engineer
Basho Technologies, Inc.
http://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