-
Notifications
You must be signed in to change notification settings - Fork 0
/
cassandra-stress.yaml
92 lines (82 loc) · 3.36 KB
/
cassandra-stress.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#
# 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: insanitytest
#
# The CQL for creating a table you wish to stress (optional if it already exists)
#
table_definition: |
CREATE TABLE insanitytest (
name text,
choice boolean,
date timestamp,
address inet,
dbl double,
lval bigint,
fval float,
ival int,
uid timeuuid,
dates list<timestamp>,
inets set<inet>,
value blob,
PRIMARY KEY((name, choice), date)
) WITH compaction = { 'class':'LeveledCompactionStrategy' }
AND comment='A table of many types to test wide rows and collections'
#
# 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
# 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: date
cluster: gaussian(1..20)
- name: lval
population: fixed(1)
insert:
partitions: fixed(1) # number of unique partitions to update in a single operation
# if perbatch < 1, multiple batches will be used but all partitions will
# occur in all batches (unless already finished); only the row counts will vary
pervisit: uniform(1..10)/10 # ratio of rows each partition should update in a single visit to the partition,
# as a proportion of the total possible for the partition
perbatch: fixed(1)/1 # number of rows each partition should update in a single batch statement,
# as a proportion of the proportion we are inserting this visit
# (i.e. compounds with (and capped by) pervisit)
batchtype: UNLOGGED # type of batch to use
#
# A list of queries you wish to run against the schema
#
queries:
simple1: select * from insanitytest where name = ? and choice = ? LIMIT 100