Java Client performance woes
jseakle at gmail.com
Mon Dec 13 22:27:24 EST 2010
While attempting to write a YCSB interface for Riak (for a school
project, so alternative benchmarking tools aren't solutions), I have
encountered some pretty severe performance issues with the official Java
client. In particular, an insert currently takes a minimum of 50
milliseconds, which I have determined are spent in
HttpClient.executeMethod() (10 msec) and HttpMethod.getResponseBody() (40
msec). These are both calls into the Apache Commons HttpLib library that
the Riak client depends on. At these speeds, even loading a YCSB workload
into Riak is practically untenable -- by comparison, we benchmarked
Cassandra inserts at roughly .5 msec.
I heard something in the irc channel about using protobuf instead, but the
section of the code that uses protobuf is utterly undocumented, and seems to
mostly be supporting the StreamClient, which, if the README is to be
believed, is only for streaming reads anyway.
Any practical advice about how to get Riak up and running from Java at
workable speeds would be very much appreciated.
A warb degombs the brangy. Your gitch zanks and leils the warb.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the riak-users