-
Notifications
You must be signed in to change notification settings - Fork 98
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test(performance): Add 90% storage utilization scaleout/scalein test
Perform scale-out around 90% disk utilization and cluster scale-in by decommissioning the newly added nodes while measuring latency under mixed-load stress. #9156 Signed-off-by: Lakshmipathi.Ganapathi <lakshmipathi.ganapathi@scylladb.com>
- Loading branch information
1 parent
ebb835a
commit d055087
Showing
7 changed files
with
166 additions
and
4 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
nemesis_class_name: 'FullStorageUtilizationNemesis' | ||
user_prefix: 'full-storage-utilization' |
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
12 changes: 12 additions & 0 deletions
12
...performance_staging/perf-regression-latency-i4i_2xlarge-elasticity-90-percent.jenkinsfile
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#!groovy | ||
|
||
// trick from https://github.com/jenkinsci/workflow-cps-global-lib-plugin/pull/43 | ||
def lib = library identifier: 'sct@snapshot', retriever: legacySCM(scm) | ||
|
||
perfRegressionParallelPipeline( | ||
backend: "aws", | ||
availability_zone: 'a', | ||
test_name: "performance_regression_test.PerformanceRegressionTest", | ||
test_config: """["test-cases/performance/perf-regression-latency-i4i_2xlarge-elasticity-90-percent.yaml", "configurations/disable_kms.yaml"]""", | ||
sub_tests: ["test_latency_mixed_with_nemesis"], | ||
) |
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
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
48 changes: 48 additions & 0 deletions
48
test-cases/performance/perf-regression-latency-i4i_2xlarge-elasticity-90-percent.yaml
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
test_duration: 3000 | ||
prepare_write_cmd: [ | ||
"cassandra-stress write no-warmup cl=ALL n=300000000 -schema 'replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate threads=200 -col 'size=FIXED(128) n=FIXED(8)' -pop seq=1..300000000", | ||
"cassandra-stress write no-warmup cl=ALL n=300000000 -schema 'replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate threads=200 -col 'size=FIXED(128) n=FIXED(8)' -pop seq=300000001..600000000", | ||
"cassandra-stress write no-warmup cl=ALL n=300000000 -schema 'replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate threads=200 -col 'size=FIXED(128) n=FIXED(8)' -pop seq=600000001..900000000", | ||
"cassandra-stress write no-warmup cl=ALL n=250000000 -schema 'replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate threads=200 -col 'size=FIXED(128) n=FIXED(8)' -pop seq=900000001..1200000000", | ||
"cassandra-stress write no-warmup cl=ALL n=300000000 -schema 'replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate threads=200 -col 'size=FIXED(128) n=FIXED(8)' -pop seq=1200000001..1500000000", | ||
] | ||
|
||
stress_cmd_w: "cassandra-stress write no-warmup cl=ALL n=335544320 -schema 'keyspace=refill_keyspace replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate threads=300 -col 'size=FIXED(128) n=FIXED(8)' -pop seq=1500000001..1835544321" | ||
stress_cmd_m: "cassandra-stress mixed no-warmup cl=QUORUM duration=800m -schema 'replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate 'threads=300 fixed=16875/s' -col 'size=FIXED(128) n=FIXED(8)' -pop 'dist=gauss(1..600000000,300000000,6000000)'" | ||
|
||
|
||
n_db_nodes: 3 | ||
nemesis_add_node_cnt: 2 | ||
n_loaders: 4 | ||
n_monitor_nodes: 1 | ||
nemesis_grow_shrink_instance_type: 'i4i.2xlarge' | ||
|
||
instance_type_loader: 'c6i.2xlarge' | ||
instance_type_monitor: 't3.large' | ||
instance_type_db: 'i4i.2xlarge' | ||
|
||
nemesis_class_name: 'FullStorageUtilizationNemesis' | ||
nemesis_interval: 30 | ||
nemesis_sequence_sleep_between_ops: 10 | ||
|
||
user_prefix: 'fullstorage-utilization-test' | ||
|
||
round_robin: true | ||
append_scylla_args: '--blocked-reactor-notify-ms 5 --abort-on-lsa-bad-alloc 1 --abort-on-seastar-bad-alloc --abort-on-internal-error 1 --abort-on-ebadf 1' | ||
backtrace_decoding: false | ||
print_kernel_callstack: true | ||
|
||
store_perf_results: true | ||
email_recipients: ["scylla-perf-results@scylladb.com"] | ||
# use_prepared_loaders: true | ||
use_hdr_cs_histogram: true | ||
email_subject_postfix: 'fullstorage utilization test' | ||
nemesis_double_load_during_grow_shrink_duration: 0 | ||
parallel_node_operations: false | ||
|
||
append_scylla_yaml: | ||
enable_tablets: true | ||
auto_snapshot: false | ||
|
||
stress_image: | ||
cassandra-stress: 'scylladb/cassandra-stress:3.17.0' |
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