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