[
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)