You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Samuru Jackson <sa...@googlemail.com> on 2010/07/13 17:22:29 UTC

Performance Issues

Hi,

I have set up a ring with a couple of servers and wanted to run some
stress tests.

Unfortunately, there is some kind of bottleneck at the client side.
I'm using Hector and Cassandra 0.6.1.

The subsequent profile results are based on a small Java program that
inserts sequentially records, with a couple of columns, into Cassandra
(no-multithreading or something that increases the stress). The nodes
are not too busy while inserting the records (approx. 20%-25% CPU
utilization).

Log-Level is on Info and I don't see any exception flying around. The
client has also registered all available node IPs.

According to my Profiler
operateWithFailover(me.prettyprint.cassandra.service.Operation)
consumes ~86% of the execution time and further down the hierarchy the
method executeAndSetResult(org.apache.cassandra.thrift.Cassandra$Client)
ist responsible for ~73%.

I'm inserting the columns one-by-one is such way:

ColumnPath cp = new ColumnPath(colFamilyName);
cp.setColumn(bytes(colName));
cp.setSuper_column(bytes(superColName));
keySpace.insert(key, cp, value.getBytes());

Can anyone point me out in what I could look into to resolve this issue?

/SJ

Re: Performance Issues

Posted by Ran Tavory <ra...@gmail.com>.
Since you're using hector hector-users@ is a good place to be, so
user@cassandra to bcc

operateWithFailover is one stop before sending the request over the network
and waiting, so it makes lots of sense that a significant part of the
application is spent in it.

On Tue, Jul 13, 2010 at 6:22 PM, Samuru Jackson <
samurujackson@googlemail.com> wrote:

> Hi,
>
> I have set up a ring with a couple of servers and wanted to run some
> stress tests.
>
> Unfortunately, there is some kind of bottleneck at the client side.
> I'm using Hector and Cassandra 0.6.1.
>
> The subsequent profile results are based on a small Java program that
> inserts sequentially records, with a couple of columns, into Cassandra
> (no-multithreading or something that increases the stress). The nodes
> are not too busy while inserting the records (approx. 20%-25% CPU
> utilization).
>
> Log-Level is on Info and I don't see any exception flying around. The
> client has also registered all available node IPs.
>
> According to my Profiler
> operateWithFailover(me.prettyprint.cassandra.service.Operation)
> consumes ~86% of the execution time and further down the hierarchy the
> method executeAndSetResult(org.apache.cassandra.thrift.Cassandra$Client)
> ist responsible for ~73%.
>
> I'm inserting the columns one-by-one is such way:
>
> ColumnPath cp = new ColumnPath(colFamilyName);
> cp.setColumn(bytes(colName));
> cp.setSuper_column(bytes(superColName));
> keySpace.insert(key, cp, value.getBytes());
>
> Can anyone point me out in what I could look into to resolve this issue?
>
> /SJ
>