You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2020/06/29 17:42:31 UTC
[kudu] branch master updated: [benchmarks] add blocking_queue-test
scenarios
This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new 23f67ae [benchmarks] add blocking_queue-test scenarios
23f67ae is described below
commit 23f67ae0d98735bd244ab9a4df2cced1a3f58ec5
Author: Alexey Serbin <al...@apache.org>
AuthorDate: Mon Jun 22 09:45:54 2020 -0700
[benchmarks] add blocking_queue-test scenarios
Added a couple of benchmark scenarios for the blocking_queue-test
to cover both symmetric and non-symmetric (in terms of readers/writers
ratio) use cases.
Change-Id: I42bd7c6a9ec121eae4c264de22efa252ea561499
Reviewed-on: http://gerrit.cloudera.org:8080/16100
Reviewed-by: Grant Henke <gr...@apache.org>
Tested-by: Alexey Serbin <as...@cloudera.com>
---
src/kudu/scripts/benchmarks.sh | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/src/kudu/scripts/benchmarks.sh b/src/kudu/scripts/benchmarks.sh
index 19f1393..95c43e0 100755
--- a/src/kudu/scripts/benchmarks.sh
+++ b/src/kudu/scripts/benchmarks.sh
@@ -59,6 +59,8 @@ FS_SCANINSERT_MRS=FullStackScanInsertMRSOnly
FS_SCANINSERT_DISK=FullStackScanInsertWithDisk
DENSE_NODE_ITEST=DenseNodeItest
+BLOCKING_QUEUE_SYMMETRIC_TEST=BlockingQueueSymmetric
+BLOCKING_QUEUE_NON_SYMMETRIC_TEST=BlockingQueueNonSymmetric
LOG_DIR_NAME=build/latest/bench-logs
OUT_DIR_NAME=build/latest/bench-out
@@ -282,6 +284,28 @@ run_benchmarks() {
--measure_startup_wait_for_bootstrap \
&> $LOGDIR/${DENSE_NODE_ITEST}$i.log
done
+
+ # Run BlockingQueue concurrency test with 3 writers and 3 readers,
+ # (i.e. symmetric in number of readers/writers), no non-blocking writers.
+ for i in $(seq 1 $NUM_SAMPLES) ; do
+ KUDU_ALLOW_SLOW_TESTS=true ./build/latest/bin/blocking_queue-test \
+ --gtest_filter=BlockingQueueMultiThreadPerfTest.RequestRates \
+ --num_blocking_writers=3 \
+ --num_blocking_readers=3 \
+ --num_non_blocking_writers=0 \
+ &> $LOGDIR/${BLOCKING_QUEUE_SYMMETRIC_TEST}$i.log
+ done
+
+ # Run BlockingQueue concurrency test with 3 writers
+ # (2 blocking, 1 non-blocking) and 1 reader.
+ for i in $(seq 1 $NUM_SAMPLES) ; do
+ KUDU_ALLOW_SLOW_TESTS=true ./build/latest/bin/blocking_queue-test \
+ --gtest_filter=BlockingQueueMultiThreadPerfTest.RequestRates \
+ --num_blocking_writers=2 \
+ --num_blocking_readers=1 \
+ --num_non_blocking_writers=1 \
+ &> $LOGDIR/${BLOCKING_QUEUE_NON_SYMMETRIC_TEST}$i.log
+ done
}
parse_and_record_all_results() {
@@ -462,6 +486,17 @@ parse_and_record_all_results() {
done
+ # Parse out total call rate and record the results for BlockingQueue test.
+ for i in $(seq 1 $NUM_SAMPLES); do
+ local log=$LOGDIR/${BLOCKING_QUEUE_SYMMETRIC_TEST}$i.log
+ rate=$(grep -o 'total rate: .* calls/sec' $log | awk '{print $3}')
+ record_result $BUILD_IDENTIFIER ${BLOCKING_QUEUE_SYMMETRIC_TEST}_total_call_rate $i $rate
+
+ local log=$LOGDIR/${BLOCKING_QUEUE_NON_SYMMETRIC_TEST}$i.log
+ rate=$(grep -o 'total rate: .* calls/sec' $log | awk '{print $3}')
+ record_result $BUILD_IDENTIFIER ${BLOCKING_QUEUE_NON_SYMMETRIC_TEST}_total_call_rate $i $rate
+ done
+
popd
popd
popd