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