mirror of https://github.com/apache/cassandra
110 lines
4.1 KiB
YAML
110 lines
4.1 KiB
YAML
#
|
|
# This is an example YAML profile for cassandra-stress
|
|
#
|
|
# insert data
|
|
# cassandra-stress user profile=/home/jake/stress1.yaml ops(insert=1)
|
|
#
|
|
# read, using query simple1:
|
|
# cassandra-stress profile=/home/jake/stress1.yaml ops(simple1=1)
|
|
#
|
|
# mixed workload (90/10)
|
|
# cassandra-stress user profile=/home/jake/stress1.yaml ops(insert=1,simple1=9)
|
|
|
|
|
|
#
|
|
# Keyspace info
|
|
#
|
|
keyspace: stresscql
|
|
|
|
#
|
|
# The CQL for creating a keyspace (optional if it already exists)
|
|
#
|
|
keyspace_definition: |
|
|
CREATE KEYSPACE stresscql WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
|
|
|
|
#
|
|
# Table info
|
|
#
|
|
table: typestest
|
|
|
|
#
|
|
# The CQL for creating a table you wish to stress (optional if it already exists)
|
|
#
|
|
table_definition: |
|
|
CREATE TABLE typestest (
|
|
name text,
|
|
choice boolean,
|
|
date timestamp,
|
|
address inet,
|
|
dbl double,
|
|
lval bigint,
|
|
ival int,
|
|
uid timeuuid,
|
|
value blob,
|
|
PRIMARY KEY((name,choice), date, address, dbl, lval, ival, uid)
|
|
)
|
|
WITH compaction = { 'class':'LeveledCompactionStrategy' }
|
|
# AND compression = { 'class' : 'LZ4Compressor' }
|
|
# AND comment='A table of many types to test wide rows'
|
|
|
|
#
|
|
# Optional meta information on the generated columns in the above table
|
|
# The min and max only apply to text and blob types
|
|
# The distribution field represents the total unique population
|
|
# distribution of that column across rows. Supported types are
|
|
#
|
|
# EXP(min..max) An exponential distribution over the range [min..max]
|
|
# EXTREME(min..max,shape) An extreme value (Weibull) distribution over the range [min..max]
|
|
# GAUSSIAN(min..max,stdvrng) A gaussian/normal distribution, where mean=(min+max)/2, and stdev is (mean-min)/stdvrng
|
|
# GAUSSIAN(min..max,mean,stdev) A gaussian/normal distribution, with explicitly defined mean and stdev
|
|
# UNIFORM(min..max) A uniform distribution over the range [min, max]
|
|
# FIXED(val) A fixed distribution, always returning the same value
|
|
# SEQ(min..max) A fixed sequence, returning values in the range min to max sequentially (starting based on seed), wrapping if necessary.
|
|
# Aliases: extr, gauss, normal, norm, weibull
|
|
#
|
|
# If preceded by ~, the distribution is inverted
|
|
#
|
|
# Defaults for all columns are size: uniform(4..8), population: uniform(1..100B), cluster: fixed(1)
|
|
#
|
|
columnspec:
|
|
- name: name
|
|
size: uniform(1..10)
|
|
population: uniform(1..10) # the range of unique values to select for the field (default is 100Billion)
|
|
- name: date
|
|
cluster: uniform(20..40)
|
|
- name: lval
|
|
population: gaussian(1..1000)
|
|
cluster: uniform(1..4)
|
|
|
|
insert:
|
|
partitions: uniform(1..50) # number of unique partitions to update in a single operation
|
|
# if batchcount > 1, multiple batches will be used but all partitions will
|
|
# occur in all batches (unless they finish early); only the row counts will vary
|
|
batchtype: LOGGED # type of batch to use
|
|
select: uniform(1..10)/10 # uniform chance any single generated CQL row will be visited in a partition;
|
|
# generated for each partition independently, each time we visit it
|
|
|
|
#
|
|
# A list of queries you wish to run against the schema
|
|
#
|
|
queries:
|
|
simple1:
|
|
cql: select * from typestest where name = ? and choice = ? LIMIT 100
|
|
fields: samerow # samerow or multirow (select arguments from the same row, or randomly from all rows in the partition)
|
|
range1:
|
|
cql: select * from typestest where name = ? and choice = ? and date >= ? LIMIT 100
|
|
fields: multirow # samerow or multirow (select arguments from the same row, or randomly from all rows in the partition)
|
|
|
|
|
|
#
|
|
# A list of bulk read queries that analytics tools may perform against the schema
|
|
# Each query will sweep an entire token range, page by page.
|
|
#
|
|
token_range_queries:
|
|
all_columns_tr_query:
|
|
columns: '*'
|
|
page_size: 5000
|
|
|
|
value_tr_query:
|
|
columns: value
|