From 2de47cba05fe9b0f0674d554bbf02ad894ef55c6 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 16 Nov 2016 14:11:22 +0100 Subject: [PATCH 1/2] enable running windows perf tests --- .../run_tests/performance/build_performance.sh | 16 ++++++++++------ .../performance/remote_host_prepare.sh | 17 +++++++++++------ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/tools/run_tests/performance/build_performance.sh b/tools/run_tests/performance/build_performance.sh index e981cae76b0..5f8749dda27 100755 --- a/tools/run_tests/performance/build_performance.sh +++ b/tools/run_tests/performance/build_performance.sh @@ -37,10 +37,14 @@ CONFIG=${CONFIG:-opt} # build C++ qps worker & driver always - we need at least the driver to # run any of the scenarios. -# TODO(jtattermusch): not embedding OpenSSL breaks the C# build because -# grpc_csharp_ext needs OpenSSL embedded and some intermediate files from -# this build will be reused. -make CONFIG=${CONFIG} EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_json_driver -j8 +# TODO(jtattermusch): C++ worker and driver are not buildable on Windows yet +if [ "$OSTYPE" != "msys" ] +then + # TODO(jtattermusch): not embedding OpenSSL breaks the C# build because + # grpc_csharp_ext needs OpenSSL embedded and some intermediate files from + # this build will be reused. + make CONFIG=${CONFIG} EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_json_driver -j8 +fi for language in $@ do @@ -55,10 +59,10 @@ do tools/run_tests/performance/build_performance_go.sh ;; "csharp") - tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --compiler coreclr + python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --compiler coreclr ;; *) - tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 + python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 ;; esac done diff --git a/tools/run_tests/performance/remote_host_prepare.sh b/tools/run_tests/performance/remote_host_prepare.sh index f81102bbdc4..d6d09b6cc88 100755 --- a/tools/run_tests/performance/remote_host_prepare.sh +++ b/tools/run_tests/performance/remote_host_prepare.sh @@ -32,18 +32,23 @@ set -ex cd $(dirname $0)/../../.. -# cleanup after previous builds -ssh "${USER_AT_HOST}" "rm -rf ~/performance_workspace && mkdir -p ~/performance_workspace" - # TODO(jtattermusch): To be sure there are no running processes that would # mess with the results, be rough and reboot the slave here # and wait for it to come back online. -# could also kill jenkins. -ssh "${USER_AT_HOST}" "killall -9 qps_worker mono node ruby worker || true" +ssh "${USER_AT_HOST}" "killall -9 qps_worker dotnet mono node ruby worker || true" + +# On Windows, killall is not supported & we need to kill all pending workers +# before attempting to delete the workspace +ssh "${USER_AT_HOST}" "ps -e | egrep 'qps_worker|dotnet' | awk '{print $1}' | xargs kill -9 || true" + +# cleanup after previous builds +ssh "${USER_AT_HOST}" "rm -rf ~/performance_workspace && mkdir -p ~/performance_workspace" # push the current sources to the slave and unpack it. scp ../grpc.tar "${USER_AT_HOST}:~/performance_workspace" -ssh "${USER_AT_HOST}" "tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace" +# Windows workaround: attempt to untar twice, first run is going to fail +# with symlink creation error(s). +ssh "${USER_AT_HOST}" "tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace || tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace" # For consistency with local run, invoke the kill_workers script remotely. ssh "${USER_AT_HOST}" "~/performance_workspace/grpc/tools/run_tests/performance/kill_workers.sh" From 63a8446276f60f3ed66e1a88d477b82ddf9d3d9c Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 16 Nov 2016 15:42:24 +0100 Subject: [PATCH 2/2] start runing win benchmarks as part of full suite --- tools/jenkins/run_full_performance.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/jenkins/run_full_performance.sh b/tools/jenkins/run_full_performance.sh index 4c4bddb8550..65dafd5b6d8 100755 --- a/tools/jenkins/run_full_performance.sh +++ b/tools/jenkins/run_full_performance.sh @@ -52,4 +52,12 @@ tools/run_tests/run_performance_tests.py \ --remote_worker_host grpc-performance-server-32core grpc-performance-client-32core grpc-performance-client2-32core \ || EXIT_CODE=1 +# selected scenarios on Windows +tools/run_tests/run_performance_tests.py \ + -l csharp \ + --category scalable \ + --bq_result_table performance_test.performance_experiment_windows \ + --remote_worker_host grpc-performance-windows1 grpc-performance-windows2 \ + || EXIT_CODE=1 + exit $EXIT_CODE