| # |
| # 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, |
| 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 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: fixed(1)/1 # 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 insanitytest 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) |