This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
memtable_config: trie | |
extra_def: | |
extra_def2: | |
repository: blambov/cassandra | |
branch: CASSANDRA-17240 | |
domination_op: "ToLongFunction(CoinFunc(0.5,FixedValue(25L),Identity()))" | |
readop: "Save('cycles'); Pareto(1.0, 2.0); Save('offset'); Expr('(long) (cycles / offset)'); Eval('block = ((long)(cycle / (9 + 1))) * (9 + 1); rem = cycle % 9; if (rem > 0) ++rem; return block + rem;')" | |
disk_access_mode: mmap_index_only | |
chunk_cache_mb: 8192 | |
compaction: "{'class': 'SizeTieredCompactionStrategy'}" | |
compactors: 30 | |
cluster_ttl: 5days | |
memtable_onheap: 16384 | |
memtable_offheap: 16384 | |
memtable_allocation_type: offheap_objects | |
Note: Trie, 50% skew | |
--- | |
ensemble: | |
observer: | |
node.count: 1 | |
provisioner: | |
name: ctool | |
properties: | |
cloud.provider: nebula | |
cloud.tenant: dse-automation | |
cloud.instance.type: m3.large | |
cloud.instance.platform: bionic | |
cluster_ttl: {{cluster_ttl}} | |
configuration_manager: | |
- name: ctool_monitoring | |
properties: | |
graphite.create_server: true | |
components: OS | |
graphite.collect_from_self: false | |
save_graphs: false | |
export.enabled: True | |
export.prefix: density-throughput.1nodes | |
export.metrics: | |
- AVERAGE_CONTEXT_SWITCH | |
- AVERAGE_LOAD | |
- AVERAGE_DISK_IO | |
- AVERAGE_MEMORY | |
- AVERAGE_NETWORK_IO | |
- AVERAGE_CPU | |
- AVERAGE_GC | |
server: | |
node.count: 1 | |
provisioner: | |
name: ctool | |
properties: | |
cloud.provider: nebula | |
cloud.tenant: bignode | |
cloud.instance.type: i3.4xlarge | |
cloud.instance.platform: bionic | |
cluster_ttl: {{cluster_ttl}} | |
configuration_manager: | |
- name: ctool | |
properties: | |
product.type: cassandra | |
product.install.type: git | |
product.version: {{branch}} | |
product.start: false | |
cassandra.git.repo: git@github.com:{{repository}} | |
server.ssl: false | |
java.version: "11.0.6" | |
cassandra.jvm.opts: > | |
-Xmx31G | |
-Xms31G | |
-XX:+UnlockCommercialFeatures | |
-XX:+FlightRecorder | |
-XX:+PreserveFramePointer | |
-XX:+UnlockDiagnosticVMOptions | |
-XX:+DebugNonSafepoints | |
-XX:+UnlockExperimentalVMOptions | |
-XX:G1NewSizePercent=12 | |
-XX:G1MaxNewSizePercent=50 | |
{{extra_def}} | |
{{extra_def2}} | |
cassandra.yaml: | |
allocate_tokens_for_local_replication_factor: 1 | |
concurrent_compactors: {{compactors}} | |
compaction_throughput: 0MiB/s | |
memtable_flush_writers: 8 | |
commitlog_total_space: 51200MiB | |
commitlog_segment_size: 320MiB | |
memtable_heap_space: {{memtable_onheap}}MiB | |
memtable_offheap_space: {{memtable_offheap}}MiB | |
memtable_allocation_type: {{memtable_allocation_type}} | |
concurrent_reads: 256 | |
concurrent_writes: 256 | |
disk_access_mode: {{disk_access_mode}} | |
file_cache_size: {{chunk_cache_mb}}MiB | |
key_cache_migrate_during_compaction: false | |
commitlog_compression: | |
- class_name: LZ4Compressor | |
memtable: | |
configurations: | |
trie: | |
class_name: TrieMemtable | |
trie_explicit_lock: | |
class_name: TrieMemtable | |
parameters: | |
track_locking: true | |
skip_list: | |
class_name: SkipListMemtable | |
sharded_skip_list: | |
class_name: ShardedSkipListMemtable | |
parameters: | |
serialize_writes: false | |
blocking_skip_list: | |
class_name: ShardedSkipListMemtable | |
parameters: | |
serialize_writes: true | |
cassandra.vnode.count: 8 | |
product.start.batch.size: 1 | |
- name: ctool_monitoring | |
properties: | |
components: OS,JVM,CASSANDRA-CORE | |
save_graphs: true | |
- name: remote_files | |
properties: | |
files: | |
- git: | |
repo: stargazer | |
client: | |
node.count: 11 | |
provisioner: | |
name: ctool | |
properties: | |
cloud.provider: nebula | |
cloud.tenant: bignode | |
cloud.instance.type: i3.xlarge | |
cluster_ttl: {{cluster_ttl}} | |
configuration_manager: | |
# using 2.1.25-caas to avoid an NPE (until there's a newer release tag in github) | |
- name: ebdse | |
properties: | |
version: 2.1.25-caas-SNAPSHOT | |
- name: ctool | |
properties: | |
install.maven: true | |
java.version: "11.0.6" | |
workload: | |
phases: | |
- configure_JVM: | |
module: bash | |
properties: | |
script: | | |
cd | |
chmod a+x $FALLOUT_LIBRARY_DIR/stargazer/test/scripts/use-g1gc.sh | |
$FALLOUT_LIBRARY_DIR/stargazer/test/scripts/use-g1gc.sh | |
target.group: server | |
timeout: 5m | |
- start_db: | |
module: ctool | |
properties: | |
command: start <cluster> cassandra | |
server_group: server | |
repeat.iterations: 1 | |
# | |
# SETUP SCHEMA | |
# | |
- schema: | |
module: ebdse | |
properties: | |
client.ordinals: 0 | |
yaml.url: https://gist.githubusercontent.com/blambov/5571433e27b007342c7b5e02f1744101/raw/338c95accc732e4babb437ca7aa009c0fe78a8fb/density_pk_ck_blob.yaml | |
run.tag: phase:schema | |
showcql: true | |
driver.opts: .withSocketOptions(new SocketOptions().setReadTimeoutMillis(20000)).withProtocolVersion(ProtocolVersion.V4) | |
extra.options: | |
keyspace: density | |
rf: 1 | |
- memtable_setup: | |
module: cqlsh | |
properties: | |
command: "ALTER TABLE density.blobs WITH memtable = '{{memtable_config}}' AND compaction = {{compaction}};" | |
# | |
# 1TB THROUGHPUT | |
# | |
- throughput: | |
module: ebdse | |
properties: | |
cycles: 1B | |
cycle.offset: '0000000000' | |
yaml.url: https://gist.githubusercontent.com/blambov/5571433e27b007342c7b5e02f1744101/raw/338c95accc732e4babb437ca7aa009c0fe78a8fb/density_pk_ck_blob.yaml | |
run.tag: "phase:main" | |
timeout: 60h | |
histogram.frequency: 30s | |
threads: 200 | |
maxtries: 10 | |
errors: histogram | |
driver.opts: .withSocketOptions(new SocketOptions().setReadTimeoutMillis(20000)).withProtocolVersion(ProtocolVersion.V4) | |
extra.options: | |
pooling: 8:8:128 | |
keyspace: density | |
key-count: 500000000000L | |
ckey-count: 1000000L | |
blob-len: 100 | |
read_ratio: 1 | |
write_ratio: 9 | |
readop: {{readop}};{{domination_op}} | |
writeop: {{domination_op}} | |
- flush_to_disk_after_init_load: | |
module: nodetool | |
properties: | |
command: flush | |
- tablestats_after_init_load: | |
module: nodetool | |
properties: | |
command: tablestats density | |
- compactionstats_after_init_load: | |
module: nodetool | |
properties: | |
command: compactionstats --human-readable | |
- density_check_after_init_load: | |
module: bash | |
properties: | |
target.ordinals: all | |
script: | | |
DATA_DIR=`echo ${FALLOUT_SERVER_PRODUCT_DATADIRECTORIES} | sed -E "s/\[(.*)\]/\1/"` | |
cd ${DATA_DIR}/density || exit $? | |
echo "Keyspace size after initial workload of 1B cycles: `du -bsh`" | |
echo "SSTable count: `ls **/*Data.db -1 | wc -l`" | |
echo "Data files" | |
du **/*Data.db -cbh | |
echo "Index files" | |
du **/*Index.db **/*Summary.db -cbh || true | |
du **/*Rows.db **/*Partitions.db -cbh || true | |
echo "Bloom filter files" | |
du **/*Filter.db -cbh || true | |
- single_client_throughput: | |
module: ebdse | |
properties: | |
client.ordinals: 0 | |
cycles: 50m | |
cycle.offset: '1000000000' | |
yaml.url: https://gist.githubusercontent.com/blambov/5571433e27b007342c7b5e02f1744101/raw/338c95accc732e4babb437ca7aa009c0fe78a8fb/density_pk_ck_blob.yaml | |
run.tag: "phase:main" | |
timeout: 20h | |
histogram.frequency: 30s | |
threads: 200 | |
maxtries: 10 | |
errors: histogram | |
driver.opts: .withSocketOptions(new SocketOptions().setReadTimeoutMillis(20000)).withProtocolVersion(ProtocolVersion.V4) | |
extra.options: | |
pooling: 8:8:128 | |
keyspace: density | |
key-count: 500000000000L | |
ckey-count: 1000000 | |
blob-len: 100 | |
read_ratio: 1 | |
write_ratio: 9 | |
readop: {{readop}};{{domination_op}} | |
writeop: {{domination_op}} | |
- compactionstats_after_single_client: | |
module: nodetool | |
properties: | |
command: compactionstats --human-readable | |
- wait_for_compactions: | |
module: wait_for_compactions | |
properties: | |
timeout: 40h | |
- compactionstats_after_wait_for_compactions: | |
module: nodetool | |
properties: | |
command: compactionstats --human-readable | |
- density_check_after_compaction: | |
module: bash | |
properties: | |
target.ordinals: all | |
script: | | |
DATA_DIR=`echo ${FALLOUT_SERVER_PRODUCT_DATADIRECTORIES} | sed -E "s/\[(.*)\]/\1/"` | |
cd ${DATA_DIR}/density || exit $? | |
echo "Keyspace size after initial workload of 1B cycles: `du -bsh`" | |
echo "SSTable count: `ls **/*Data.db -1 | wc -l`" | |
echo "Data files" | |
du **/*Data.db -cbh | |
echo "Index files" | |
du **/*Index.db **/*Summary.db -cbh || true | |
du **/*Rows.db **/*Partitions.db -cbh || true | |
echo "Bloom filter files" | |
du **/*Filter.db -cbh || true | |
# | |
# CONSTANT THROUGPUT 10k/client 90/10 writes to reads | |
# | |
- latency_9_1: | |
module: ebdse | |
properties: | |
cycles: 50M | |
cycle.offset: '1050000000' | |
yaml.url: https://gist.githubusercontent.com/blambov/5571433e27b007342c7b5e02f1744101/raw/338c95accc732e4babb437ca7aa009c0fe78a8fb/density_pk_ck_blob.yaml | |
run.tag: phase:main | |
timeout: 20h | |
histogram.frequency: 10s | |
threads: 200 | |
maxtries: 10 | |
errors: histogram | |
driver.opts: .withSocketOptions(new SocketOptions().setReadTimeoutMillis(20000)).withProtocolVersion(ProtocolVersion.V4) | |
extra.parameters: cyclerate=10000 | |
extra.options: | |
pooling: 8:8:128 | |
keyspace: density | |
key-count: 500000000000L | |
ckey-count: 1000000 | |
blob-len: 100 | |
write_ratio: 9 | |
read_ratio: 1 | |
readop: {{readop}};{{domination_op}} | |
writeop: {{domination_op}} | |
- compactionstats_after_9_1: | |
module: nodetool | |
properties: | |
command: compactionstats --human-readable | |
- wait_for_compactions_after_9_1: | |
module: wait_for_compactions | |
properties: | |
timeout: 4h | |
- latency_1_1: | |
module: ebdse | |
properties: | |
cycles: 50M | |
cycle.offset: '1100000000' | |
yaml.url: https://gist.githubusercontent.com/blambov/5571433e27b007342c7b5e02f1744101/raw/338c95accc732e4babb437ca7aa009c0fe78a8fb/density_pk_ck_blob.yaml | |
run.tag: phase:main | |
timeout: 20h | |
histogram.frequency: 10s | |
threads: 200 | |
maxtries: 10 | |
errors: histogram | |
driver.opts: .withSocketOptions(new SocketOptions().setReadTimeoutMillis(20000)).withProtocolVersion(ProtocolVersion.V4) | |
extra.parameters: cyclerate=10000 | |
extra.options: | |
pooling: 8:8:128 | |
keyspace: density | |
key-count: 500000000000L | |
ckey-count: 1000000 | |
blob-len: 100 | |
write_ratio: 1 | |
read_ratio: 1 | |
readop: {{readop}};{{domination_op}} | |
writeop: {{domination_op}} | |
- compactionstats_after_1_1: | |
module: nodetool | |
properties: | |
command: compactionstats --human-readable | |
- wait_for_compactions_after_1_1: | |
module: wait_for_compactions | |
properties: | |
timeout: 4h | |
- read_only: | |
module: ebdse | |
properties: | |
cycles: 50M | |
cycle.offset: '1000000000' # read only what is definitely written (and compacted) already | |
yaml.url: https://gist.githubusercontent.com/blambov/5571433e27b007342c7b5e02f1744101/raw/338c95accc732e4babb437ca7aa009c0fe78a8fb/density_pk_ck_blob.yaml | |
run.tag: phase:main,type:read | |
timeout: 20h | |
histogram.frequency: 10s | |
threads: 200 | |
maxtries: 10 | |
errors: histogram | |
driver.opts: .withSocketOptions(new SocketOptions().setReadTimeoutMillis(20000)).withProtocolVersion(ProtocolVersion.V4) | |
extra.parameters: cyclerate=10000 | |
extra.options: | |
pooling: 8:8:128 | |
keyspace: density | |
key-count: 500000000000L | |
ckey-count: 1000000 | |
blob-len: 100 | |
write_ratio: 0 | |
read_ratio: 1 | |
readop: {{readop}};{{domination_op}} | |
- compactionstats_at_end: | |
module: nodetool | |
properties: | |
command: compactionstats --human-readable | |
# See STAR-495 for details. | |
- abort_compactions: | |
module: nodetool | |
properties: | |
command: stop | |
# STAR-495: try to force stop cluster | |
- stop_cluster: | |
module: ctool | |
properties: | |
command: stop <cluster> | |
checkers: | |
verify_success: | |
checker: nofail | |
artifact_checkers: | |
process_hdr: | |
artifact_checker: hdrtool | |
systemlog: | |
artifact_checker: systemlog | |
properties: | |
# Exclude some ignorable errors: | |
# (DB-4326) ERROR [NodeSync-1] 2020-04-09 19:13:57,744 Validator.java:534 - Unexpected error during synchronization of table density.blobs on range (-4367881493559736674,-3859638876736486136] (the range will be retried shortly, but please report to DataStax support, especially if this error persists) | |
error.pattern: > | |
^(ERROR|FATAL) | |
(?!.*NodeSync.*the\srange\swill\sbe\sretried\sshortly) | |
.* |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment