[
https://issues.apache.org/jira/browse/CASSANDRA-6199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Yaskevich resolved CASSANDRA-6199.
----------------------------------------
Resolution: Fixed
Fix Version/s: 2.1
Merged, with following changes:
- sun.reflect.generics.reflectiveObjects.NotImplementedException changed to
UnsupportedOperationException in CqlIndexedRangeSlicer, SettingsTransport,
StressSettings, CqlIndexedRangeSlicer.
- CqlIndexedRangeSlicer, changed StringBuilder append methods to avoid string
concatenation inside.
- fix SettingsPort to use correct Thrift port by default, was using default
value of options.nativePort.value() for both Native and Thrift.
- fixed NPE in StressSettings.disconnect().
- changed 2s sleeping to Uninterruptibles.sleepUninterruptibly(2,
TimeUnit.SECONDS); instead of Thread.sleep with try {} catch
- optimized imports and their arrangement.
- minor code formatting changes.
> Improve Stress Tool
> -------------------
>
> Key: CASSANDRA-6199
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6199
> Project: Cassandra
> Issue Type: Improvement
> Components: Tools
> Reporter: Benedict
> Assignee: Benedict
> Priority: Minor
> Fix For: 2.1
>
> Attachments: new.read.latency.svg, new.read.rate.distribution.svg,
> new.write.latency.svg, new.write.rate.distribution.svg, old.read.latency.svg,
> old.read.rate.distribution.svg, old.write.latency.svg,
> old.write.rate.distribution.svg, ops.read.svg, ops.write.svg, patch
>
>
> The stress tool could do with sprucing up. The following is a list of
> essential improvements and things that would be nice to have.
> Essential:
> - Reduce variability of results, especially start/end tails. Do not trash
> first/last 10% of readings
> - Reduce contention/overhead in stress to increase overall throughput
> - Short warm-up period, which is ignored for summary (or summarised
> separately), though prints progress as usual. Potentially automatic detection
> of rate levelling.
> - Better configurability and defaults for data generation - current column
> generation populates columns with the same value for every row, which is very
> easily compressible. Possibly introduce partial random data generator
> (possibly dictionary-based random data generator)
> Nice to have:
> - Calculate and print stdev and mean
> - Add batched sequential access mode (where a single thread performs
> batch-size sequential requests before selecting another random key) to test
> how key proximity affects performance
> - Auto-mode which attempts to establish the maximum throughput rate, by
> varying the thread count (or otherwise gating the number of parallel
> requests) for some period, then configures rate limit or thread count to test
> performance at e.g. 30%, 50%, 70%, 90%, 120%, 150% and unconstrained.
> - Auto-mode could have a target variance ratio for mean throughput and/or
> latency, and completes a test once this target is hit for x intervals
> - Fix key representation so independent of number of keys (possibly switch to
> 10 digit hex), and don't use String.format().getBytes() to construct it
> (expensive)
> Also, remove the skip-key setting, as it is currently ignored. Unless
> somebody knows the reason for it.
> - Fix latency stats
> - Read/write mode, with configurable recency-of-reads distribution
> - Add new exponential/extreme value distribution for value size, column count
> and recency-of-reads
> - Support more than 2^31 keys
> - Supports multiple concurrent stress inserts via key-offset parameter or
> similar
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)