How do I improve Level DB performance?

Ryan Zezeski rzezeski at
Fri May 11 12:13:41 EDT 2012

On Thu, May 10, 2012 at 11:14 PM, Tim Haines <tmhaines at> wrote:
> With the adjusted ring size and settings, and adjusted to only do puts (so
> no missed reads), my cluster is doing about 400 puts per second:

Actually, every put (put from a riak API level) does a read on the backend
[1].  This is needed to merge contents from the two objects [2].

Like Dave already mentioned the key generation strategy along with
leveldb's degrading performance on not-found means your benchmark will just
get worse the longer it runs.

Are you testing an actual use case here?  Do you envision 100M objects
being written in a constant stream?  Will your objects have a median size
of 1000 bytes?  Basho bench also provides a pareto key generator which uses
a fraction of the key space most of the time.  I'm not sure it matches your
use case but thought I'd mention it is there.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the riak-users mailing list