That's some impressive hardware.  It's hard to say what those performance dips 
were, but here are some ideas:

1) Other processes using the disk.
2) Riak's entries being expunged from the file-system cache.
3) Something in the testing tool. (socket timeouts? garbage collection?)
4) Contention between the 3 Riak nodes for disk access.

I can understand wanting to run multiple nodes on the same box, but in order to 
get an accurate measure of performance:

1) Make the dataset large enough that it won't all fit in memory. 50 entries of 
2-18KB each won't cut it.
2) Run the test for much longer - 5 minutes is probably not long enough to warm 
the cache.
3) Run the 3 Riak nodes on separate hardware, or at least on separate disks. 
Running 3 on the same machine just isn't the same as running them in a 
networked situation. You might also want to try 4 or more nodes, as performance 
(latency specifically) will improve as you spread the data thinner. That said, 
configure it in the same way as you intend to deploy the production version.
4) Run your load generator on a separate machine. You don't want it competing 
with your Riak node(s).

You might also like to try basho_bench: https://github.com/basho/basho_bench. 
It includes configurable key and value generation, concurrency levels, and will 
even create pretty graphs for you.

Sean Cribbs <[email protected]>
Developer Advocate
Basho Technologies, Inc.
http://basho.com/

On Jan 17, 2011, at 9:01 AM, Serge Pokhodyaev wrote:

> Hello.
> 
> Nobody answered my previous post
> (http://lists.basho.com/pipermail/riak-users_lists.basho.com/2010-December/002632.html).
> But I'll try again...
> 
> I made different stress-test.
> 
> One hardware server — 2*quad-core Xeon E5620, 2.40 GHz, 48Gb RAM,
> RAID1 (linux softraid, 2 sata disks).
> Debian GNU/Linux squeeze
> 
> Installed erlang R14. Compiled riak from sources.
> 
> sys_system_version : <<"Erlang R14B (erts-5.8.1) [source] [64-bit]
> [smp:16:16] [rq:16] [async-threads:64] [kernel-poll:true]">>
> sys_system_architecture : <<"x86_64-pc-linux-gnu">>
> 
> Configured 3 riak instances (no OpenVZ at this time) and joined each
> other into a ring.
> 
> Then I put 50 objects (average size 2-18kB) into riak. And started a
> stress test: about 5*10 requests (via REST) simultaneously to
> random-selected objects within 300 seconds. Requests has been made to
> all 3 instances via load-balancing HTTP proxy (nginx). Used
> multi-mechanize
> (http://code.google.com/p/multi-mechanize/) to make the stress-test.
> 
> Got pretty good perfomance and two very bad throughput slowdowns. You
> can see results here:
> http://files.z9.ru/results_2011.01.17_16.36.00/results.html
> 
> Again: can you help me to eliminate that perfomance downfalls?
> 
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com


_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to