[ https://issues.apache.org/jira/browse/CASSANDRA-6199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13855871#comment-13855871 ]
Pavel Yaskevich edited comment on CASSANDRA-6199 at 12/23/13 7:28 PM: ---------------------------------------------------------------------- I finally had time to look into this and everything looks good, here are my comments: *1a1140e625db409eb2f51f8fac10bb1bd9ee89fb* _CqlMultiGetter.java_ Has a left over "public void run(Cassandra.Client client) throws IOException" which should be removed. _JavaDriverClient.java_ needs formatting of {}. _SmartThriftClient.java_ - get(ByteBuffer pk) Current logic for new cache per host could be replaced with following to avoid double get on map. {noformat} if (q == null) { ConcurrentLinkedQueue<Client> newQ = new ConcurrentLinkedQueue<Client>(); q = cache.putIfAbsent(host, newQ); if (q == null) q = newQ; } {noformat} *e1a0be5ce00fb67bc6a37c9c3b695b6d7b4473c6* _JavaDriverClient.java_ if cluster.shutdown() is a Future, you can uses Futures.getUnchecked(cluster.shutdown()); instead of converting checked exceptions into RE was (Author: xedin): I finally had time to look into this and everything looks good, here are my comments: *1a1140e625db409eb2f51f8fac10bb1bd9ee89fb* _CqlMultiGetter.java_ Has a left over "public void run(Cassandra.Client client) throws IOException" which should be removed. _JavaDriverClient.java_ needs formatting of {}. _SmartThriftClient.java_ - get(ByteBuffer pk) Current logic for new cache per host could be replaced with following to avoid double get on map. if (q == null) { ConcurrentLinkedQueue<Client> newQ = new ConcurrentLinkedQueue<Client>(); q = cache.putIfAbsent(host, newQ); if (q == null) q = newQ; } *e1a0be5ce00fb67bc6a37c9c3b695b6d7b4473c6* _JavaDriverClient.java_ if cluster.shutdown() is a Future, you can uses Futures.getUnchecked(cluster.shutdown()); instead of converting checked exceptions into RE > 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 > 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 > > > 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)