You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by be...@apache.org on 2015/01/28 23:51:19 UTC
[2/5] cassandra git commit: Update tools/stress/README.txt
Update tools/stress/README.txt
patch by ptnapoleon; reviewed by benedict for CASSANDRA-7933
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7cd11026
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7cd11026
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7cd11026
Branch: refs/heads/trunk
Commit: 7cd1102606d51d8a5ac26ced818d50172acc1007
Parents: 160cbc1
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Wed Jan 28 22:49:33 2015 +0000
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Wed Jan 28 22:49:33 2015 +0000
----------------------------------------------------------------------
CHANGES.txt | 1 +
tools/stress/README.txt | 113 +++++++++++++++++++++++++++----------------
2 files changed, 72 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7cd11026/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7a38735..c40fc19 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.3
+ * Update tools/stress/README.txt to match current behaviour (CASSANDRA-7933)
* Fix schema from Thrift conversion with empty metadata (CASSANDRA-8695)
* Safer Resource Management (CASSANDRA-7705)
* Make sure we compact highly overlapping cold sstables with
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7cd11026/tools/stress/README.txt
----------------------------------------------------------------------
diff --git a/tools/stress/README.txt b/tools/stress/README.txt
index 9f745c1..0046b25 100644
--- a/tools/stress/README.txt
+++ b/tools/stress/README.txt
@@ -4,55 +4,84 @@ cassandra-stress
Description
-----------
cassandra-stress is a tool for benchmarking and load testing a Cassandra
-cluster. It is significantly faster than the older py_stress tool.
+cluster. cassandra-stress supports testing arbitrary CQL tables and queries
+to allow users to benchmark their data model.
Setup
-----
-Run `ant` from the Cassandra source directory, then cassandra-stress can be invoke from tools/bin/cassandra-stress
+Run `ant` from the Cassandra source directory, then cassandra-stress can be invoked from tools/bin/cassandra-stress.
+cassandra-stress supports benchmarking any Cassandra cluster of version 2.0+.
Usage
-----
-There are three different modes of operation:
-
- * inserting (loading test data)
- * reading
- * range slicing (only works with the OrderPreservingPartioner)
- * indexed range slicing (works with RandomParitioner on indexed ColumnFamilies)
-
-Important options:
- -o or --operation:
- Sets the operation mode, one of 'insert', 'read', 'rangeslice', or 'indexedrangeslice'
- -n or --num-keys:
- the number of rows to insert/read/slice; defaults to one million
- -d or --nodes:
- the node(s) to perform the test against. For multiple nodes, supply a
- comma-separated list without spaces, ex: cassandra1,cassandra2,cassandra3
- -y or --family-type:
- Sets the ColumnFamily type. One of 'Standard' or 'Super'. If using super,
- you probably want to set the -u option also.
- -c or --cells:
- the number of cells per row, defaults to 5
- -u or --supercolumns:
- use the number of supercolumns specified NOTE: you must set the -y
- option appropriately, or this option has no effect.
- -g or --get-range-slice-count:
- This is only used for the rangeslice operation and will *NOT* work with
- the RandomPartioner. You must set the OrderPreservingPartioner in your
- storage-conf.xml (note that you will need to wipe all existing data
- when switching partioners.) This option sets the number of rows to
- slice at a time and defaults to 1000.
- -r or --random:
- Only used for reads. By default, cassandra-stress will perform reads on rows
- with a guassian distribution, which will cause some repeats. Setting
- this option makes the reads completely random instead.
- -i or --progress-interval:
- The interval, in seconds, at which progress will be output.
-
-Remember that you must perform inserts before performing reads or range slices.
+There are several operation types:
+
+ * write-only, read-only, and mixed workloads of standard data
+ * write-only and read-only workloads for counter columns
+ * user configured workloads, running custom queries on custom schemas
+ * support for legacy cassandra-stress operations
+
+The syntax is `cassandra-stress <command> [options]`. If you want more information on a given command
+or options, just run `cassandra-stress help <command|option>`.
+
+Commands:
+ read:
+ Multiple concurrent reads - the cluster must first be populated by a write test
+ write:
+ Multiple concurrent writes against the cluster
+ mixed:
+ Interleaving of any basic commands, with configurable ratio and distribution - the cluster must first be populated by a write test
+ counter_write:
+ Multiple concurrent updates of counters.
+ counter_read:
+ Multiple concurrent reads of counters. The cluster must first be populated by a counterwrite test.
+ user:
+ Interleaving of user provided queries, with configurable ratio and distribution.
+ See http://www.datastax.com/dev/blog/improved-cassandra-2-1-stress-tool-benchmark-any-schema
+ help:
+ Print help for a command or option
+ print:
+ Inspect the output of a distribution definition
+ legacy:
+ Legacy support mode
+
+Primary Options:
+ -pop:
+ Population distribution and intra-partition visit order
+ -insert:
+ Insert specific options relating to various methods for batching and splitting partition updates
+ -col:
+ Column details such as size and count distribution, data generator, names, comparator and if super columns should be used
+ -rate:
+ Thread count, rate limit or automatic mode (default is auto)
+ -mode:
+ Thrift or CQL with options
+ -errors:
+ How to handle errors when encountered during stress
+ -sample:
+ Specify the number of samples to collect for measuring latency
+ -schema:
+ Replication settings, compression, compaction, etc.
+ -node:
+ Nodes to connect to
+ -log:
+ Where to log progress to, and the interval at which to do it
+ -transport:
+ Custom transport factories
+ -port:
+ The port to connect to cassandra nodes on
+ -sendto:
+ Specify a stress server to send this command to
+
+Suboptions:
+ Every command and primary option has its own collection of suboptions. These are too numerous to list here.
+ For information on the suboptions for each command or option, please use the help command,
+ `cassandra-stress help <command|option>`.
Examples
--------
- * tools/bin/cassandra-stress -d 192.168.1.101 # 1M inserts to given host
- * tools/bin/cassandra-stress -d 192.168.1.101 -o read # 1M reads
- * tools/bin/cassandra-stress -d 192.168.1.101,192.168.1.102 -n 10000000 # 10M inserts spread across two nodes
+ * tools/bin/cassandra-stress write n=1000000 -node 192.168.1.101 # 1M inserts to given host
+ * tools/bin/cassandra-stress read n=10000000 -node 192.168.1.101 -o read # 1M reads
+ * tools/bin/cassandra-stress write -node 192.168.1.101,192.168.1.102 n=10000000 # 10M inserts spread across two nodes
+ * tools/bin/cassandra-stress help -pop # Print help for population distribution option