diff --git a/tests/zfs-tests/tests/perf/regression/random_reads.ksh b/tests/zfs-tests/tests/perf/regression/random_reads.ksh index 8ec8cd67afef..5e91fe0a7073 100755 --- a/tests/zfs-tests/tests/perf/regression/random_reads.ksh +++ b/tests/zfs-tests/tests/perf/regression/random_reads.ksh @@ -25,6 +25,15 @@ # for all fio runs. The ARC is cleared with `zinject -a` prior to each run # so reads will go to disk. # +# Thread/Concurrency settings: +# PERF_NTHREADS defines the number of files created in the test filesystem, +# as well as the number of threads that will simultaneously drive IO to +# those files. The settings chosen are from measurements in the +# PerfAutoESX/ZFSPerfESX Environments, selected at concurrency levels that +# are at peak throughput but lowest latency. Higher concurrency introduces +# queue time latency and would reduce the impact of code-induced performance +# regressions. +# . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/perf/perf.shlib @@ -54,13 +63,13 @@ export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2)) if [[ -n $PERF_REGRESSION_WEEKLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_WEEKLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'weekly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'8 16 64'} + export PERF_NTHREADS=${PERF_NTHREADS:-'8 16 32 64'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'1'} export PERF_IOSIZES=${PERF_IOSIZES:-'8k'} elif [[ -n $PERF_REGRESSION_NIGHTLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_NIGHTLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'nightly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'64 128'} + export PERF_NTHREADS=${PERF_NTHREADS:-'16 32'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'1'} export PERF_IOSIZES=${PERF_IOSIZES:-'8k'} fi diff --git a/tests/zfs-tests/tests/perf/regression/random_readwrite.ksh b/tests/zfs-tests/tests/perf/regression/random_readwrite.ksh index cf12c9b09017..446a440ec13a 100755 --- a/tests/zfs-tests/tests/perf/regression/random_readwrite.ksh +++ b/tests/zfs-tests/tests/perf/regression/random_readwrite.ksh @@ -25,6 +25,15 @@ # and used for all fio runs. The ARC is cleared with `zinject -a` prior to # each run so reads will go to disk. # +# Thread/Concurrency settings: +# PERF_NTHREADS defines the number of files created in the test filesystem, +# as well as the number of threads that will simultaneously drive IO to +# those files. The settings chosen are from measurements in the +# PerfAutoESX/ZFSPerfESX Environments, selected at concurrency levels that +# are at peak throughput but lowest latency. Higher concurrency introduces +# queue time latency and would reduce the impact of code-induced performance +# regressions. +# . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/perf/perf.shlib @@ -54,13 +63,13 @@ export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2)) if [[ -n $PERF_REGRESSION_WEEKLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_WEEKLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'weekly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'8 16 64'} + export PERF_NTHREADS=${PERF_NTHREADS:-'4 8 16 64'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'0 1'} export PERF_IOSIZES='' # bssplit used instead elif [[ -n $PERF_REGRESSION_NIGHTLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_NIGHTLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'nightly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'64 128'} + export PERF_NTHREADS=${PERF_NTHREADS:-'32 64'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'1'} export PERF_IOSIZES='' # bssplit used instead fi diff --git a/tests/zfs-tests/tests/perf/regression/random_writes.ksh b/tests/zfs-tests/tests/perf/regression/random_writes.ksh index 8db5fbd32bd2..e724aefe2dff 100755 --- a/tests/zfs-tests/tests/perf/regression/random_writes.ksh +++ b/tests/zfs-tests/tests/perf/regression/random_writes.ksh @@ -24,6 +24,15 @@ # Prior to each fio run the dataset is recreated, and fio writes new files # into an otherwise empty pool. # +# Thread/Concurrency settings: +# PERF_NTHREADS defines the number of files created in the test filesystem, +# as well as the number of threads that will simultaneously drive IO to +# those files. The settings chosen are from measurements in the +# PerfAutoESX/ZFSPerfESX Environments, selected at concurrency levels that +# are at peak throughput but lowest latency. Higher concurrency introduces +# queue time latency and would reduce the impact of code-induced performance +# regressions. +# . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/perf/perf.shlib @@ -53,13 +62,13 @@ export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2)) if [[ -n $PERF_REGRESSION_WEEKLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_WEEKLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'weekly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'8 16 64'} + export PERF_NTHREADS=${PERF_NTHREADS:-'1 4 8 16 32 64 128'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'0 1'} export PERF_IOSIZES=${PERF_IOSIZES:-'8k'} elif [[ -n $PERF_REGRESSION_NIGHTLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_NIGHTLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'nightly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'64 128'} + export PERF_NTHREADS=${PERF_NTHREADS:-'32 128'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'1'} export PERF_IOSIZES=${PERF_IOSIZES:-'8k'} fi diff --git a/tests/zfs-tests/tests/perf/regression/sequential_reads.ksh b/tests/zfs-tests/tests/perf/regression/sequential_reads.ksh index af53e5d1e16c..e60dbb18176a 100755 --- a/tests/zfs-tests/tests/perf/regression/sequential_reads.ksh +++ b/tests/zfs-tests/tests/perf/regression/sequential_reads.ksh @@ -25,6 +25,15 @@ # for all fio runs. The ARC is cleared with `zinject -a` prior to each run # so reads will go to disk. # +# Thread/Concurrency settings: +# PERF_NTHREADS defines the number of files created in the test filesystem, +# as well as the number of threads that will simultaneously drive IO to +# those files. The settings chosen are from measurements in the +# PerfAutoESX/ZFSPerfESX Environments, selected at concurrency levels that +# are at peak throughput but lowest latency. Higher concurrency introduces +# queue time latency and would reduce the impact of code-induced performance +# regressions. +# . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/perf/perf.shlib @@ -54,13 +63,13 @@ export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2)) if [[ -n $PERF_REGRESSION_WEEKLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_WEEKLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'weekly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'16 64'} + export PERF_NTHREADS=${PERF_NTHREADS:-'8 16 32 64'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'1'} export PERF_IOSIZES=${PERF_IOSIZES:-'64k 128k 1m'} elif [[ -n $PERF_REGRESSION_NIGHTLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_NIGHTLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'nightly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'64 128'} + export PERF_NTHREADS=${PERF_NTHREADS:-'8 16'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'1'} export PERF_IOSIZES=${PERF_IOSIZES:-'128k 1m'} fi diff --git a/tests/zfs-tests/tests/perf/regression/sequential_writes.ksh b/tests/zfs-tests/tests/perf/regression/sequential_writes.ksh index 3319bd47c317..d5fb890201a9 100755 --- a/tests/zfs-tests/tests/perf/regression/sequential_writes.ksh +++ b/tests/zfs-tests/tests/perf/regression/sequential_writes.ksh @@ -24,6 +24,15 @@ # Prior to each fio run the dataset is recreated, and fio writes new files # into an otherwise empty pool. # +# Thread/Concurrency settings: +# PERF_NTHREADS defines the number of files created in the test filesystem, +# as well as the number of threads that will simultaneously drive IO to +# those files. The settings chosen are from measurements in the +# PerfAutoESX/ZFSPerfESX Environments, selected at concurrency levels that +# are at peak throughput but lowest latency. Higher concurrency introduces +# queue time latency and would reduce the impact of code-induced performance +# regressions. +# . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/perf/perf.shlib @@ -53,13 +62,13 @@ export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2)) if [[ -n $PERF_REGRESSION_WEEKLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_WEEKLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'weekly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'8 16'} + export PERF_NTHREADS=${PERF_NTHREADS:-'1 4 8 16 32 64 128'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'0 1'} export PERF_IOSIZES=${PERF_IOSIZES:-'8k 128k 1m'} elif [[ -n $PERF_REGRESSION_NIGHTLY ]]; then export PERF_RUNTIME=${PERF_RUNTIME:-$PERF_RUNTIME_NIGHTLY} export PERF_RUNTYPE=${PERF_RUNTYPE:-'nightly'} - export PERF_NTHREADS=${PERF_NTHREADS:-'64 128'} + export PERF_NTHREADS=${PERF_NTHREADS:-'16 32'} export PERF_SYNC_TYPES=${PERF_SYNC_TYPES:-'1'} export PERF_IOSIZES=${PERF_IOSIZES:-'8k 128k 1m'} fi