0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-25 09:19:32 +01:00
mongodb/etc/evergreen_yml_components/perf_tasks.yml
Jawwad Asghar 323f2f258e SERVER-91564 Add common query locust workload (#23558)
GitOrigin-RevId: 9018276280c74328f80e68d29e7378797984d780
2024-06-24 14:21:24 +00:00

1747 lines
50 KiB
YAML

functions:
f_dsi_run_workload: &dsi_run_func # this function replaces f_run_dsi_workload
- command: timeout.update
params:
exec_timeout_secs: ${exec_timeout_secs_override}
timeout_secs: ${timeout_secs_override}
- command: git.get_project
params:
directory: src/mongo
clone_depth: 1000
revisions:
dsi: ${dsi_rev}
genny: ${genny_rev}
linkbench: ${linkbench_rev}
linkbench2: ${linkbench2_rev}
tsbs: ${tsbs_rev}
workloads: ${workloads_rev}
YCSB: ${YCSB_rev}
flamegraph: ${flamegraph_rev}
PrivateWorkloads: ${PrivateWorkloads_rev}
- command: expansions.write
params:
file: ./expansions.yml
redacted: true
- command: shell.exec
params:
script: ./src/dsi/run-dsi run_workload
- command: shell.exec
type: system
params:
script: ./src/dsi/run-dsi determine_failure -m SYSTEM
- command: shell.exec
type: setup
params:
script: ./src/dsi/run-dsi determine_failure -m SETUP
- command: shell.exec
type: test
params:
script: ./src/dsi/run-dsi determine_failure -m TEST
f_run_dsi_workload: *dsi_run_func # Do not use this function. It is deprecated.
## Schedule Tasks ##
f_schedule_tasks:
- command: git.get_project
params:
directory: src/mongo
clone_depth: 1000
revisions:
dsi: ${dsi_rev}
genny: ${genny_rev}
linkbench: ${linkbench_rev}
linkbench2: ${linkbench2_rev}
tsbs: ${tsbs_rev}
workloads: ${workloads_rev}
mongo-perf: ${mongo-perf_rev}
YCSB: ${YCSB_rev}
py-tpcc: ${py-tpcc_rev}
PrivateWorkloads: ${PrivateWorkloads_rev}
- command: expansions.write
params:
file: ./expansions.yml
- command: shell.exec
params:
script: ./src/dsi/run-dsi schedule_tasks --tasks=${tasks}
- command: generate.tasks
params:
files:
- build/TaskJSON/Tasks.json
## DSI_SELFTEST ##
dsi_selftest_setup_tests:
- command: git.get_project
params:
directory: src/dsi
dsi_selftest_check_python_formatting:
- command: shell.exec
type: test
params:
script: ./src/dsi/run-dsi selftest testscripts/check-format-python.sh
dsi_selftest_lint_python_scripts:
- command: shell.exec
type: test
params:
script: ./src/dsi/run-dsi selftest testscripts/lint-python.sh
dsi_selftest_lint_yml:
- command: shell.exec
type: test
params:
script: ./src/dsi/run-dsi selftest testscripts/lint-yml.sh
dsi_selftest_pytest:
- command: shell.exec
type: test
params:
script: ./src/dsi/run-dsi selftest testscripts/pytest.sh
dsi_selftest_mypy:
- command: shell.exec
type: test
params:
script: ./src/dsi/run-dsi selftest testscripts/mypy.sh
dsi_selftest_shellcheck:
- command: shell.exec
type: test
params:
script: ./src/dsi/run-dsi selftest testscripts/lint-shell.sh
dsi_selftest_e2e:
- command: shell.exec
type: test
params:
script: ./src/dsi/run-dsi e2e_test
tasks:
###
# Same in every DSI project
- name: generate_all_variant_auto_tasks
priority: 5
commands:
- func: f_generate_all_variant_auto_tasks
- name: schedule_global_auto_tasks
patch_only: true
priority: 5
commands:
- func: f_schedule_tasks
vars:
tasks: all_tasks
- name: schedule_variant_auto_tasks
patch_only: true
priority: 5
commands:
- func: f_schedule_tasks
vars:
tasks: variant_tasks
- name: schedule_patch_auto_tasks
patch_only: true
priority: 5
commands:
- func: f_schedule_tasks
vars:
tasks: patch_tasks
- name: smoke_test
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: short
- name: smoke_test_ssl
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: short
mongodb_setup: replica-ssl
infrastructure_provisioning: replica
- name: smoke_test_standalone_auth
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: short
mongodb_setup: standalone-auth
infrastructure_provisioning: single
- name: smoke_test_replset_auth
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: short
mongodb_setup: replica-auth
infrastructure_provisioning: replica
- name: smoke_test_shard_lite_auth
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: short
mongodb_setup: shard-lite-auth
infrastructure_provisioning: shard-lite
- name: renew_ssl_cert
commands:
- command: git.get_project
params:
directory: src/mongo
revisions:
dsi: ${dsi_rev}
# Run the script to generate ssl cert files
- command: shell.exec
params:
script: AWS_ACCESS_KEY_ID=${terraform_key} AWS_SECRET_ACCESS_KEY=${terraform_secret} ./src/dsi/run-dsi generate_ssl_cert
# Upload files for further DSI usage
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: member.pem
# path to the remote file is intended to be static
remote_file: dsi/ssl/member.pem
bucket: mciuploads
# the visibility has to be public for consumption by DSI
permissions: public-read
content_type: text/plain
display_name: member.pem
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: root.crt
# path to the remote file is intended to be static
remote_file: dsi/ssl/root.crt
bucket: mciuploads
# the visibility has to be public for consumption by DSI
permissions: public-read
content_type: text/plain
display_name: root.crt
- name: ycsb.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb.2023-09"
- name: ycsb.load
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb.load"
- name: ycsb_60GB.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-60GB.2023-09"
- name: ycsb_60GB.long.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-60GB.long.2023-09"
- name: ycsb_audit.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb.2023-09"
additional_mongodb_setup: |
{audit: enabled,
auditAuthorization: 1}
- name: ycsb_read_concern_available.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb.2023-09"
test_control_params: |
{readConcernAvailable: 1}
- name: ycsb_secondary_reads.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-secondary-reads.2023-09"
- name: ycsb_single_thread
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-single-thread"
- name: ycsb_w1.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-w1.2023-09"
- name: ycsb_stepdowns.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb_stepdowns.2023-09"
- name: ycsb_rolling_restarts.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb_rolling_restarts.2023-09"
- name: ycsb_non_retryable_writes_stepdowns.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb_non_retryable_writes_stepdowns.2023-09"
- name: ycsb_non_retryable_writes_rolling_restarts.2023-09
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb_non_retryable_writes_rolling_restarts.2023-09"
# See DSI configurations/test_control/defaults.*.yml for an explanation of the available parameters.
# Definitions of terms:
# OutOfCache: the data set is larger than the WiredTiger Cache. For these tests the record count
# should result in a ~30GB database, which should be twice the configured WiredTiger Cache.
# InCache: the data set is smaller than the WiredTiger Cache. For these tests the record count
# should result in a ~6GB database, which is much smaller than the configured RAM.
# OpenLoop: A test framework where new jobs arrive independently of job completions.
# ClosedLoop: A test framework where new job arrivals are only triggered by job completions
# (followed by think time).
#
# See https://www.usenix.org/legacy/event/nsdi06/tech/full_papers/schroeder/schroeder.pdf
#
# OutOfCache ClosedLoop
# These 30GB tests have the following features:
# * the database does not fit in the WiredTiger Cache. It is 2x the available Wired Tiger Cache.
# * the database files do not fit in the Linux FS Cache. They are 2x the available Linux FS Cache.
- name: ycsb_30GB.95read5update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.95read5update.2024-05"
- name: ycsb_30GB.100read.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100read.2024-05"
test_control_params: |
{ycsb:{
time: {maxWarmup: 360 }
}}
- name: ycsb_30GB.50read50update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.50read50update.2024-05"
test_control_params: |
{ycsb:{
time: {maxWarmup: 360 }
}}
- name: ycsb_30GB.100update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100update.2024-05"
test_control_params: |
{ycsb:{
time: {maxWarmup: 1200 }
}}
# These 120GB tests have the following features:
# * the database does not fit in the WiredTiger Cache. It is 8x the available Wired Tiger Cache.
# * the database files do not fit in the Linux FS Cache. It is 8x the available Linux FS Cache.
- name: ycsb_120GB.95read5update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.95read5update.2024-05"
test_control_params: |
{ycsb:{
count: {records: 112640000},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_120GB.100read.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100read.2024-05"
test_control_params: |
{ycsb:{
count: {records: 112640000},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_120GB.50read50update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.50read50update.2024-05"
test_control_params: |
{ycsb:{
count: {records: 112640000},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_120GB.100update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100update.2024-05"
test_control_params: |
{ycsb:{
count: {records: 112640000},
time: {maxWarmup: 300, maxPhase: 300 }
}}
# These 30GB compressible tests have the following features:
# * the database does not fit in the WiredTiger Cache. It is 2x the available Wired Tiger Cache.
# * the database files fit in the Linux FS Cache. They are a quarter the size of the database (4x Compressible).
# As a result of compression, it should warm up faster.
- name: ycsb_30GB.95read5update.compressible.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.95read5update.2024-05"
test_control_params: |
{ycsb:{
property: {common_extras: ' -p compressibility=4 '},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_30GB.100read.compressible.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100read.2024-05"
test_control_params: |
{ycsb:{
property: {common_extras: ' -p compressibility=4 '},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_30GB.50read50update.compressible.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.50read50update.2024-05"
test_control_params: |
{ycsb:{
property: {common_extras: ' -p compressibility=4 '},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_30GB.100update.compressible.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100update.2024-05"
test_control_params: |
{ycsb:{
property: {common_extras: ' -p compressibility=4 '},
time: {maxWarmup: 300, maxPhase: 300 }
}}
# These 120GB compressible tests have the following features:
# * the database does not fit in the WiredTiger Cache. It is 8x the available Wired Tiger Cache.
# * the database files do not fit in the Linux FS Cache. They are twice the size of the FS Cache.
# As a result of compression, it should warm up faster.
- name: ycsb_120GB.95read5update.compressible.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.95read5update.2024-05"
test_control_params: |
{ycsb:{
property: {common_extras: ' -p compressibility=4 '},
count: {records: 112640000},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_120GB.100read.compressible.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100read.2024-05"
test_control_params: |
{ycsb:{
property: {common_extras: ' -p compressibility=4 '},
count: {records: 112640000},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_120GB.50read50update.compressible.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.50read50update.2024-05"
test_control_params: |
{ycsb:{
property: {common_extras: ' -p compressibility=4 '},
count: {records: 112640000},
time: {maxWarmup: 300, maxPhase: 300 }
}}
- name: ycsb_120GB.100update.compressible.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100update.2024-05"
test_control_params: |
{ycsb:{
property: {common_extras: ' -p compressibility=4 '},
count: {records: 112640000},
time: {maxWarmup: 300, maxPhase: 300 }
}}
# OutOfCache Rate Limited (OpenLoop)
# These 30GB tests have the following features:
# * the database does not fit in the WiredTiger Cache. It is 2x the available Wired Tiger Cache.
# * the database files do not fit in the Linux FS Cache. It is 2x the available Linux FS Cache.
# These tests are also rate limited.
- name: ycsb_30GB.95read5update.rate_limited.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.95read5update.2024-05"
test_control_params: |
{ycsb:{
property: {extras: '-p target=10000 -p measurement.interval=both'}
}}
- name: ycsb_30GB.100read.rate_limited.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100read.2024-05"
test_control_params: |
{ycsb:{
property: {extras: '-p target=14000 -p measurement.interval=both'},
time: {maxWarmup: 360 }
}}
- name: ycsb_30GB.50read50update.rate_limited.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.50read50update.2024-05"
test_control_params: |
{ycsb:{
property: {extras: '-p target=7000 -p measurement.interval=both'}
}}
- name: ycsb_30GB.100update.rate_limited.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100update.2024-05"
test_control_params: |
{ycsb:{
property: {extras: '-p target=3000 -p measurement.interval=both'}
}}
# InCache ClosedLoop
# The following tests have the following features:
# * the database fits in the WiredTiger Cache.
# * the database files fit in the Linux FS Cache.
- name: ycsb.95read5update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.95read5update.2024-05"
test_control_params: |
{ycsb:{
count: {records: 5120000},
time: {maxWarmup: 480, maxPhase: 300}
}}
- name: ycsb.100read.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100read.2024-05"
test_control_params: |
{ycsb:{
count: {records: 5120000},
time: {maxWarmup: 480, maxPhase: 300}
}}
- name: ycsb.50read50update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.50read50update.2024-05"
test_control_params: |
{ycsb:{
count: {records: 5120000},
time: {maxWarmup: 480, maxPhase: 300}
}}
- name: ycsb.100update.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100update.2024-05"
test_control_params: |
{ycsb:{
count: {records: 5120000},
time: {maxWarmup: 480, maxPhase: 300}
}}
# InCache Rate Limited (OpenLoop)
# The following tests have the following features:
# * the database fits in the WiredTiger Cache.
# * the database files fit in the Linux FS Cache.
# These tests are also rate limited.
- name: ycsb.95read5update.rate_limited.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.95read5update.2024-05"
test_control_params: |
{ycsb:{
property: {extras: '-p target=35000 -p measurement.interval=both'},
count: {records: 5120000},
time: {maxWarmup: 480, maxPhase: 300}
}}
- name: ycsb.100read.rate_limited.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100read.2024-05"
test_control_params: |
{ycsb:{
property: {extras: '-p target=12000 -p measurement.interval=both'},
count: {records: 5120000},
time: {maxWarmup: 480, maxPhase: 300}
}}
- name: ycsb.50read50update.rate_limited.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.50read50update.2024-05"
test_control_params: |
{ycsb:{
property: {extras: '-p target=6500 -p measurement.interval=both'},
count: {records: 5120000},
time: {maxWarmup: 480, maxPhase: 300}
}}
- name: ycsb.100update.rate_limited.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ycsb-30GB.100update.2024-05"
test_control_params: |
{ycsb:{
property: {extras: '-p target=4000 -p measurement.interval=both'},
count: {records: 5120000},
time: {maxWarmup: 480, maxPhase: 300}
}}
- name: linkbench
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "linkbench"
- name: linkbench_stepdowns
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "linkbench_stepdowns"
- name: linkbench_rolling_restarts
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "linkbench_rolling_restarts"
- name: linkbench_non_retryable_writes_stepdowns
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "linkbench_non_retryable_writes_stepdowns"
- name: linkbench_non_retryable_writes_rolling_restarts
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "linkbench_non_retryable_writes_rolling_restarts"
- name: linkbench2
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 43200 # 12 hours
test_control: "linkbench2"
additional_tfvars: "tags: {expire-on-delta: 12}"
- name: linkbench2.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "linkbench2.2024-05"
- name: locust_bulk_insert
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "locust_bulk_insert"
- name: top_ten_queries
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "top_ten_queries"
- name: tsbs_load
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_load"
- name: tsbs_load.2024-05
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_load.2024-05"
- name: tsbs_query
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query"
- name: tsbs_query_finance
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_finance"
- name: tsbs_query_high_cardinality
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 432000 # 5 days
test_control: "tsbs_query_high_cardinality"
- name: tsbs_query_medium_cardinality
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 86400 # 1 day
test_control: "tsbs_query_medium_cardinality"
- name: tsbs_high_cardinality_short
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 86400 # 1 day
test_control: "tsbs_high_cardinality_short"
- name: tsbs_query_sharded
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_sharded"
- name: tsbs_query_finance_sharded
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_finance_sharded"
- name: tsbs_query_sharded_balancer
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_sharded_balancer"
- name: tsbs_query_finance_sharded_balancer
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_finance_sharded_balancer"
- name: tsbs_query_manual_bucketing
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_manual_bucketing"
- name: tsbs_query_fixed_bucketing
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_fixed_bucketing"
- name: tsbs-query-genny
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_genny"
test_control_params: |
{task_name: tsbs_query_genny,
config_filename: ./src/genny/dist/etc/genny/workloads/query/TimeseriesTsbsQuery.yml}
- name: tsbs-query-optimizations
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_genny"
test_control_params: |
{task_name: tsbs_query_optimizations,
config_filename: ./src/genny/dist/etc/genny/workloads/query/TimeseriesTsbsOptimizations.yml}
- name: tsbs-expression-query
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tsbs_query_genny"
test_control_params: |
{task_name: tsbs_expression_query,
config_filename: ./src/genny/dist/etc/genny/workloads/query/TimeseriesTsbsExpressionQuery.yml}
- name: tpcc
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tpcc"
- name: tpcc_majority
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tpcc_majority"
- name: crud_workloads_w1
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "crud_workloads_w1.2023-02"
- name: crud_workloads_majority
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "crud_workloads_majority"
- name: cursor_manager
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "cursor_manager"
- name: mixed_workloads_genny_stepdowns
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "mixed_workloads_genny_stepdowns"
- name: mixed_workloads_genny_rolling_restarts
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "mixed_workloads_genny_rolling_restarts"
- name: big_update_10k
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "BigUpdate10k"
- name: startup
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "startup"
- name: dbcheck
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 43200 # 12 hours
timeout_secs_overide: 43200 # 12 hours
test_control: "dbcheck"
additional_tfvars: "tags: {expire-on-delta: 12}" # increase host expiration to 12 hours.
- name: misc_workloads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "misc_workloads"
- name: map_reduce_workloads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "map_reduce_workloads"
- name: canaries_only
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: canaries
- name: bestbuy_agg
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_agg"
- name: bestbuy_agg_merge_same_db
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_agg_merge_same_db"
- name: bestbuy_agg_merge_different_db
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_agg_merge_different_db"
- name: bestbuy_agg_merge_target_hashed
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_agg_merge_target_hashed"
- name: bestbuy_agg_merge_wordcount
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_agg_merge_wordcount"
- name: bestbuy_query
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_query"
- name: bestbuy_4_analytics
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_analytics"
test_control_params: |
{scale: 4,
columnstore: false}
- name: bestbuy_4_analytics_columnstore
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_analytics"
test_control_params: |
{scale: 4,
columnstore: true}
- name: snapshot_reads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "snapshot_reads"
- name: secondary_reads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "secondary_reads"
- name: tpch_1_normalized
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tpch"
test_control_params: |
{scale: 1,
schema: normalized}
- name: tpch_1_denormalized
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "tpch"
test_control_params: |
{scale: 1,
schema: denormalized}
- name: tpch_10_normalized
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 43200 # 12 hours
test_control: "tpch"
test_control_params: |
{scale: 10,
schema: normalized}
- name: tpch_10_denormalized
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 43200 # 12 hours
test_control: "tpch"
test_control_params: |
{scale: 10,
schema: denormalized}
- name: ssb_column_store_comparison
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "ssb_column_store_index"
test_control_params: |
{scale: 5}
- name: column_store_tpch_10_denormalized
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 43200 # 12 hours
test_control: "column_store_tpch"
test_control_params: |
{scale: 10,
schema: denormalized,
columnstore: true}
- name: column_store_tpch_10_denormalized_unindexed
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 43200 # 12 hours
test_control: "column_store_tpch"
test_control_params: |
{scale: 10,
schema: denormalized,
columnstore: false}
- name: mixed_workloads_genny_rate_limited_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: mixed_workloads_genny_rate_limited
auto_workload_path: ./src/genny/dist/etc/genny/workloads/scale/MixedWorkloadsGennyRateLimited.yml
- name: load_test_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: load_test
auto_workload_path: ./src/genny/dist/etc/genny/workloads/scale/LoadTest.yml
- name: large_indexed_ins_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: large_indexed_ins
auto_workload_path: ./src/genny/dist/etc/genny/workloads/scale/LargeIndexedIns.yml
- name: expressive_queries_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: expressive_queries
auto_workload_path: ./src/genny/dist/etc/genny/workloads/query/ExpressiveQueries.yml
- name: time_series_sort_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: time_series_sort
auto_workload_path: ./src/genny/dist/etc/genny/workloads/query/TimeSeriesSort.yml
- name: medical_workload_diagnosis_50_50_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: medical_workload_diagnosis_50_50
auto_workload_path: ./src/genny/dist/etc/genny/workloads/encrypted/medical_workload-diagnosis-50-50.yml
- name: qe_range_balance_50_50_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: qe_range_balance_50_50
auto_workload_path: ./src/genny/dist/etc/genny/workloads/encrypted/qe-range-balance-50-50.yml
- name: ycsb_like_queryable_encrypt1_cfdefault_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: ycsb_like_queryable_encrypt1_cfdefault
auto_workload_path: ./src/genny/dist/etc/genny/workloads/encrypted/YCSBLikeQueryableEncrypt1Cfdefault.yml
- name: array_traversal_high_value
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: array_traversal
auto_workload_path: ./src/genny/dist/etc/genny/workloads/query/ArrayTraversal.yml
# TODO PERF-3094: Remove these charts_events tasks.
- name: column_store_index_charts_events_1G
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "charts_events"
test_control_params: |
{scale: 1}
- name: column_store_index_charts_events_10G
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "charts_events"
test_control_params: |
{scale: 10}
# TODO PERF-3094: Remove this task.
- name: bestbuy_4_inserts
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "bestbuy_4_inserts"
- name: non_sharded_workloads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "non_sharded"
- name: mongos_workloads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "mongos"
- name: mongos_large_catalog_workloads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "mongos_large_catalog"
- name: move_chunk_workloads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "move_chunk"
- name: move_chunk_waiting_workloads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "move_chunk_waiting"
- name: move_chunk_large_chunk_map_workloads
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "move_chunk_large_chunk_map"
- name: refine_shard_key_transaction_stress
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "refine_shard_key_transaction_stress"
- name: secondary_performance
priority: 5
commands:
- func: f_dsi_run_workload
vars:
# Unfortunately the dash/underscore style is different for mongodb_setup and test_control
test_control: "secondary_performance"
mongodb_setup: "secondary-performance"
- name: initialsync
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "initialsync"
- name: initialsync-fcbis
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "initialsync"
mongodb_setup: "replica-2node-fcbis"
- name: initialsync-logkeeper
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 43200 # 12 hours
timeout_secs_override: 43200 # 12 hours
test_control: "initialsync-logkeeper"
- name: initialsync-logkeeper-fcbis
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 43200 # 12 hours
timeout_secs_override: 43200 # 12 hours
test_control: "initialsync-logkeeper"
mongodb_setup: "initialsync-logkeeper-fcbis"
# The following two initial sync logkeeper automation tasks are only used in the commented-out
# "Linux ReplSet Initial Sync LogKeeper Snapshot Update" variant below and are only intended to be
# run in patch builds to update FCV for logkeeper datasets.
- name: initialsync-logkeeper-snapshot-update
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 216000 # 2.5 days
test_control: "initialsync-logkeeper-snapshot-update"
- name: initialsync-large
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "initialsync-large"
- name: initialsync-large-fcbis
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "initialsync-large"
mongodb_setup: "replica-2node-fcbis"
- name: change_streams_latency
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "change_streams_latency"
- name: change_streams_preimage_throughput
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "change_streams_preimage_throughput"
- name: change_streams_preimage_latency
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "change_streams_preimage_latency"
- name: change_streams_listen_throughput
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "change_streams_listen_throughput"
- name: change_streams_multi_mongos
priority: 5
commands:
- func: f_dsi_run_workload
vars:
test_control: "change_streams_multi_mongos"
- name: genny_execution_UserAcquisition
commands:
- func: f_dsi_run_workload
vars:
test_control: auto_genny_workload
auto_workload_path: ./src/genny/dist/etc/genny/workloads/execution/UserAcquisition.yml
- name: genny_execution_ValidationFull
commands:
- func: f_dsi_run_workload
vars:
test_control: auto_genny_workload
auto_workload_path: ./src/genny/src/workloads/execution/ValidateCmdFull.yml
- name: genny_scale_InsertRemove
commands:
- func: f_dsi_run_workload
vars:
test_control: auto_genny_workload
auto_workload_path: ./src/genny/dist/etc/genny/workloads/scale/InsertRemove.yml
- name: genny_resharding_withIndexes
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 172800 # 2 days
timeout_secs_override: 43200 # 12 hours
test_control: auto_genny_workload
auto_workload_path: ./src/genny/dist/etc/genny/workloads/sharding/ReshardCollectionWithIndexes.yml
- name: query_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: query,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: query_read_commands_large_dataset
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: query_large_dataset,
include_filter_2: regression,
exclude_filter: none,
threads: "1 4",
read_cmd: 'true'}
- name: big_collection
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: query,
include_filter_2: getmore,
exclude_filter: none,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: views-query
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: query_identityview,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: views-aggregation
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: aggregation_identityview,
include_filter_2: regression,
exclude_filter: none,
threads: "1",
read_cmd: 'true'}
- name: where_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: where,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: update_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: update,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: insert_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: insert,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: compound_wildcard_index_write_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: compound-wildcard-insert compound-wildcard-remove compound-wildcard-update,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: compound_wildcard_index_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: compound-wildcard-query,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: wildcard-index-read_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: wildcard_read,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: wildcard-index-write_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: wildcard_write,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: tie-breaking-heuristics
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: tie-breaking,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: geo_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: geo,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: misc_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: command multi remove mixed,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: misc_custom_filter_default_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
mongodb_setup: mongo-perf-standalone-custom-filter-default.2023-02
test_control_params: |
{include_filter_1: command multi remove mixed,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: misc_custom_filter_slow_or_sample_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
mongodb_setup: mongo-perf-standalone-custom-filter-slow-or-sample.2023-02
test_control_params: |
{include_filter_1: command multi remove mixed,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: misc_custom_filter_complex_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
mongodb_setup: mongo-perf-standalone-custom-filter-complex.2023-02
test_control_params: |
{include_filter_1: command multi remove mixed,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: misc_custom_filter_whole_doc_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
mongodb_setup: mongo-perf-standalone-custom-filter-whole-doc.2023-02
test_control_params: |
{include_filter_1: command multi remove mixed,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: misc_slowms_everything_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
mongodb_setup: mongo-perf-standalone-slowms-everything.2023-02
test_control_params: |
{include_filter_1: command multi remove mixed,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: singleThreaded_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: single_threaded,
include_filter_2: core regression,
exclude_filter: none,
threads: "1",
read_cmd: 'true'}
- name: aggregation_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: aggregation,
include_filter_2: regression,
exclude_filter: js,
threads: "1",
read_cmd: 'true'}
- name: aggregation_read_commands_large_dataset
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: aggregation_large_dataset,
include_filter_2: regression,
exclude_filter: js,
threads: "1 4",
read_cmd: 'true',
share_dataset: 'true'}
- name: agg-query-comparison_read_commands
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: agg_query_comparison,
include_filter_2: core regression,
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: agg-query-comparison_read_commands_high_value
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: agg_query_comparison,
include_filter_2: high_value,
exclude_filter: none,
threads: "1",
read_cmd: 'true'}
- name: pipeline-updates
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: pipeline-updates,
include_filter_2: regression,
exclude_filter: none,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: javascript
commands:
- func: f_dsi_run_workload
vars:
test_control: mongo-perf.2023-02
test_control_params: |
{include_filter_1: js,
include_filter_2: aggregation,
exclude_filter: none,
threads: "1 2 4 8",
read_cmd: 'true'}
- name: stream_workloads
commands:
- func: f_dsi_run_workload
vars:
test_control: streams.2023-10
- name: resharding-3shard-snapshot-update
priority: 5
commands:
- func: f_dsi_run_workload
vars:
exec_timeout_secs_override: 216000 # 2.5 days
test_control: "resharding-3shard-snapshot-update.2023-10"