From 06b37eef7bb1f735fc3f23c387d310dd01f452aa Mon Sep 17 00:00:00 2001 From: Sagar Vemuri Date: Wed, 30 Aug 2017 17:16:48 -0700 Subject: [PATCH] Set defaults for high-pri and low-pri thread pools in regression test script Summary: **Summary**: Set defaults for high-pri and low-pri thread pools in regression test script. **Reason for this change**: With #2680 , high-pri and low-pri thread pools get different numbers than before if `num_high_pri_threads` and `num_low_pri_threads` options are not explicitly passed to db_bench in regression test script ... leading to a false-positive regression. **Test Plan**: REMOTE_HOST=udb1671.prn3 TEST_MODE=1 FBSOURCE=~/fbsource ~/fbsource/fbcode/rocks/tools/debug_regression_test.sh viewstate (with very minor changes to the internals). Observe P50 and P99 which showed up as regressions in our graphs. Stats with the commit prior to #2680 , ie. 4f81ab3 : seekrandomwhilewriting : 75.096 micros/op 13316 ops/sec; 168.6 MB/s (7499074 of 7500000 found) Microseconds per seek: Count: 120000000 Average: 1197.7254 StdDev: 33.35 Min: 187 Median: 980.5292 Max: 1816424 Percentiles: **P50: 980.53** P75: 1494.57 **P99: 4185.64** P99.9: 7800.11 P99.99: 15039.64 Stats at #2680, ie. at commit dce6d5a (false-positive regression): seekrandomwhilewriting : 85.330 micros/op 11719 ops/sec; 148.4 MB/s (7499073 of 7500000 found) Microseconds per seek: Count: 120000000 Average: 1362.3261 StdDev: 27.86 Min: 185 Median: 1088.1915 Max: 652760 Percentiles: **P50: 1088.19** P75: 1658.12 **P99: 5361.15** P99.9: 7997.95 P99.99: 11730.07 Stats with the current change on top of dce6d5a : seekrandomwhilewriting : 77.780 micros/op 12856 ops/sec; 162.8 MB/s (7499102 of 7500000 found) Microseconds per seek: Count: 120000000 Average: 1226.6744 StdDev: 17.16 Min: 185 Median: 994.2956 Max: 2553530 Percentiles: **P50: 994.30** P75: 1513.68 **P99: 4284.30** P99.9: 9338.64 P99.99: 23008.86 Closes https://github.com/facebook/rocksdb/pull/2801 Differential Revision: D5742338 Pulled By: sagar0 fbshipit-source-id: cc5d727c1a131f2a7070d1bb892efbe929b976ff --- tools/regression_test.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/regression_test.sh b/tools/regression_test.sh index 58558bbe4..06ab4c544 100755 --- a/tools/regression_test.sh +++ b/tools/regression_test.sh @@ -85,6 +85,10 @@ # db_bench. Default: 4. # MAX_BACKGROUND_COMPACTIONS: The maximum number of concurrent compactions # in db_bench. Default: 16. +# NUM_HIGH_PRI_THREADS: The number of high-pri threads available for +# concurrent flushes in db_bench. Default: 4. +# NUM_LOW_PRI_THREADS: The number of low-pri threads available for +# concurrent compactions in db_bench. Default: 16. # SEEK_NEXTS: Controls how many Next() will be called after seek. # Default: 10. # SEED: random seed that controls the randomness of the benchmark. @@ -182,6 +186,8 @@ function init_arguments { STATS_INTERVAL_SECONDS=${STATS_INTERVAL_SECONDS:-600} MAX_BACKGROUND_FLUSHES=${MAX_BACKGROUND_FLUSHES:-4} MAX_BACKGROUND_COMPACTIONS=${MAX_BACKGROUND_COMPACTIONS:-16} + NUM_HIGH_PRI_THREADS=${NUM_HIGH_PRI_THREADS:-4} + NUM_LOW_PRI_THREADS=${NUM_LOW_PRI_THREADS:-16} DELETE_TEST_PATH=${DELETE_TEST_PATH:-0} SEEK_NEXTS=${SEEK_NEXTS:-10} SEED=${SEED:-$( date +%s )} @@ -231,6 +237,8 @@ function run_db_bench { --max_background_flushes=$MAX_BACKGROUND_FLUSHES \ --num_multi_db=$NUM_MULTI_DB \ --max_background_compactions=$MAX_BACKGROUND_COMPACTIONS \ + --num_high_pri_threads=$NUM_HIGH_PRI_THREADS \ + --num_low_pri_threads=$NUM_LOW_PRI_THREADS \ --seed=$SEED) 2>&1" ps_cmd="ps aux" if ! [ -z "$REMOTE_USER_AT_HOST" ]; then