[ 
https://issues.apache.org/jira/browse/CASSANDRA-9558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Tolbert updated CASSANDRA-9558:
------------------------------------
    Attachment: atolber-CASSANDRA-9558-stress.tgz
                CASSANDRA-9558-2.patch

Think I've gotten to the bottom of this.  Attached is [^CASSANDRA-9558-2.patch] 
which does the following:

* Forces Protocol Version to V2 in driver client used by cassandra-stress.  
This is necessary to enable the driver to use more 1 connection per host 
(explanation above).
* Explicitly set core connections to 8 from 2.   The previous java-driver used 
for cassandra-stress, 2.0.9.2, was set up to use 8 core connections to get 
around a pool growth/shrinking issue introduced in an earlier version which has 
since been fixed.  It turns out more connections = better performance in a high 
stress scenario.  When using default settings, the size of the pool grows to 
about 3-4 to meet the number of simultaneous requests I'd expect to see in this 
configuration w/ 300 threads.
* Remove netty-3.9.0.Final.jar from tools/lib as both C* and stress tool are 
using a shaded version of the driver which provides netty itself, so this is no 
longer needed.   Also removed references to tools/lib from build.xml as this 
directory is now empty.

With these changes I am now seeing comparable if not slightly better 
performance than the stress tool on cassandra-2.1 using driver 2.0.9.2.  Here's 
a sampling of the results I've captures (attached as 
[^atolber.CASSANDRA-9558-stress.tgz]).

I also ran with 4, 16 and 32 core connections.    There was a slight 
improvement at 16, but a degradation at 32.   It might interesting to make this 
option configurable in the future, but I think 8 is a happy medium for now and 
decided to stick to it to operate similarly to stress on the 2.1 branch.

||Description||branch||write ops rate||
|2.0.9.2 driver|cassandra-2.1|136579|
|2.0.9.2 driver|trunk|138659|
|2.2.0-rc1|trunk|74100|
|2.2.0-rc1 proto v2, 4 core connections|trunk|127211|
|2.2.0-rc1 proto v2, 8 core connections|trunk|142450|
|2.2.0-rc1 proto v2, 16 core connections|trunk|144077|
|2.2.0-rc1 proto v2, 32 core connections|trunk|129678|

> Cassandra-stress regression in 2.2
> ----------------------------------
>
>                 Key: CASSANDRA-9558
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9558
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Alan Boudreault
>            Priority: Blocker
>         Attachments: 2.1.log, 2.2.log, CASSANDRA-9558-2.patch, 
> CASSANDRA-9558-ProtocolV2.patch, atolber-CASSANDRA-9558-stress.tgz, 
> stress-2.1-java-driver-2.0.9.2.log, stress-2.1-java-driver-2.2+PATCH.log, 
> stress-2.1-java-driver-2.2.log, stress-2.2-java-driver-2.2+PATCH.log, 
> stress-2.2-java-driver-2.2.log
>
>
> We are seeing some regression in performance when using cassandra-stress 2.2. 
> You can see the difference at this url:
> http://riptano.github.io/cassandra_performance/graph_v5/graph.html?stats=stress_regression.json&metric=op_rate&operation=1_write&smoothing=1&show_aggregates=true&xmin=0&xmax=108.57&ymin=0&ymax=168147.1
> The cassandra version of the cluster doesn't seem to have any impact. 
> //cc [~tjake] [~benedict]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to