From dba05d7004fde9b3fe94235d04152b1c64015dc6 Mon Sep 17 00:00:00 2001 From: Ikiru Yoshizaki <3856350+guitarrapc@users.noreply.github.com> Date: Tue, 5 Nov 2024 12:47:53 +0900 Subject: [PATCH] chore: split ServerStreaming Benchmark to other VM [skip ci] --- perf/BenchmarkApp/configs/schedule.yaml | 6 +- ...{schedule_config.yaml => schedule_ci.yaml} | 0 .../configs/schedule_serverstreaming.yaml | 93 +++++++++++++++++++ ...patch_messagepack_h2c_serverstreaming.yaml | 2 +- 4 files changed, 99 insertions(+), 2 deletions(-) rename perf/BenchmarkApp/configs/{schedule_config.yaml => schedule_ci.yaml} (100%) create mode 100644 perf/BenchmarkApp/configs/schedule_serverstreaming.yaml diff --git a/perf/BenchmarkApp/configs/schedule.yaml b/perf/BenchmarkApp/configs/schedule.yaml index 5c4d07db4..35bf32649 100644 --- a/perf/BenchmarkApp/configs/schedule.yaml +++ b/perf/BenchmarkApp/configs/schedule.yaml @@ -1,8 +1,12 @@ type: loader +# max 3 items are allowed branch-configs: - suffix: "" # suffix should be unique with others branch: main - config: ./perf/BenchmarkApp/configs/schedule_config.yaml + config: ./perf/BenchmarkApp/configs/schedule_ci.yaml - suffix: "-1" + branch: main + config: ./perf/BenchmarkApp/configs/schedule_serverstreaming.yaml + - suffix: "-2" branch: feature/ImprovePerformance config: ./perf/BenchmarkApp/configs/workflow_dispatch_messagepack_h2c.yaml diff --git a/perf/BenchmarkApp/configs/schedule_config.yaml b/perf/BenchmarkApp/configs/schedule_ci.yaml similarity index 100% rename from perf/BenchmarkApp/configs/schedule_config.yaml rename to perf/BenchmarkApp/configs/schedule_ci.yaml diff --git a/perf/BenchmarkApp/configs/schedule_serverstreaming.yaml b/perf/BenchmarkApp/configs/schedule_serverstreaming.yaml new file mode 100644 index 000000000..a3d28d8b9 --- /dev/null +++ b/perf/BenchmarkApp/configs/schedule_serverstreaming.yaml @@ -0,0 +1,93 @@ +# template: https://github.com/Cysharp/Actions/tree/main/.github/scripts/_template_benchmark_config.yaml +# config2args script: https://github.com/Cysharp/Actions/tree/main/.github/scripts/benchmark_config2args.sh +apt-tools: "libmsquic" +dotnet-version: 8.0 +benchmark-expire-min: 15 +#benchmark-location: "japaneast" +benchmark-location: "eastus" +benchmark-timeout-min: 10 +benchmark-client-run-script-path: ".github/scripts/benchmark-client-run.sh" +benchmark-client-run-script-args: '--run-args "-u http://${BENCHMARK_SERVER_NAME}:5000 --protocol {{ protocol }} -s ServerStreaming --rounds 3 --channels {{ channels }} --streams {{ streams }} --serialization {{ serialization }} --validate true --tags {{ tags }}" --build-args "{{ buildArgsClient }}"' +benchmark-server-run-script-path: ".github/scripts/benchmark-server-run.sh" +benchmark-server-run-script-args: '--run-args "-u http://0.0.0.0:5000 --protocol {{ protocol }} --serialization {{ serialization }} --validate true --tags {{ tags }}" --build-args "{{ buildArgsServer }}"' +benchmark-server-stop-script-path: ".github/scripts/benchmark-server-stop.sh" +jobs: + ##### MessagePack ##### + # h2c + - tags: legend:messagepack-h2c-linux,streams:1x1,protocol:h2c,serialization:messagepack + protocol: h2c + channels: 1 + streams: 1 + serialization: messagepack + - tags: legend:messagepack-h2c-linux,streams:1x28,protocol:h2c,serialization:messagepack + protocol: h2c + channels: 28 + streams: 1 + serialization: messagepack + - tags: legend:messagepack-h2c-linux,streams:28x1,protocol:h2c,serialization:messagepack + protocol: h2c + channels: 1 + streams: 28 + serialization: messagepack + - tags: legend:messagepack-h2c-linux,streams:70x1,protocol:h2c,serialization:messagepack + protocol: h2c + channels: 1 + streams: 70 + serialization: messagepack + - tags: legend:messagepack-h2c-linux,streams:70x28,protocol:h2c,serialization:messagepack + protocol: h2c + channels: 28 + streams: 70 + serialization: messagepack + # h2 + - tags: legend:messagepack-h2-linux,streams:1x1,protocol:h2,serialization:messagepack + protocol: h2 + channels: 1 + streams: 1 + serialization: messagepack + - tags: legend:messagepack-h2-linux,streams:1x28,protocol:h2,serialization:messagepack + protocol: h2 + channels: 28 + streams: 1 + serialization: messagepack + - tags: legend:messagepack-h2-linux,streams:28x1,protocol:h2,serialization:messagepack + protocol: h2 + channels: 1 + streams: 28 + serialization: messagepack + - tags: legend:messagepack-h2-linux,streams:70x1,protocol:h2,serialization:messagepack + protocol: h2 + channels: 1 + streams: 70 + serialization: messagepack + - tags: legend:messagepack-h2-linux,streams:70x28,protocol:h2,serialization:messagepack + protocol: h2 + channels: 28 + streams: 70 + serialization: messagepack + # h3 + - tags: legend:messagepack-h3-linux,streams:1x1,protocol:h3,serialization:messagepack + protocol: h3 + channels: 1 + streams: 1 + serialization: messagepack + - tags: legend:messagepack-h3-linux,streams:1x28,protocol:h3,serialization:messagepack + protocol: h3 + channels: 28 + streams: 1 + serialization: messagepack + - tags: legend:messagepack-h3-linux,streams:28x1,protocol:h3,serialization:messagepack + protocol: h3 + channels: 1 + streams: 28 + serialization: messagepack + - tags: legend:messagepack-h3-linux,streams:70x1,protocol:h3,serialization:messagepack + protocol: h3 + channels: 1 + streams: 70 + serialization: messagepack + - tags: legend:messagepack-h3-linux,streams:70x28,protocol:h3,serialization:messagepack + protocol: h3 + channels: 28 + streams: 70 + serialization: messagepack diff --git a/perf/BenchmarkApp/configs/workflow_dispatch_messagepack_h2c_serverstreaming.yaml b/perf/BenchmarkApp/configs/workflow_dispatch_messagepack_h2c_serverstreaming.yaml index 44d2cf333..3d4f09e72 100644 --- a/perf/BenchmarkApp/configs/workflow_dispatch_messagepack_h2c_serverstreaming.yaml +++ b/perf/BenchmarkApp/configs/workflow_dispatch_messagepack_h2c_serverstreaming.yaml @@ -6,7 +6,7 @@ benchmark-expire-min: 15 benchmark-location: "japaneast" benchmark-timeout-min: 10 benchmark-client-run-script-path: ".github/scripts/benchmark-client-run.sh" -benchmark-client-run-script-args: '--run-args "-u http://${BENCHMARK_SERVER_NAME}:5000 --protocol {{ protocol }} -s ServerStreaming --rounds 10 --channels {{ channels }} --streams {{ streams }} --serialization {{ serialization }} --validate true --tags {{ tags }}" --build-args "{{ buildArgsClient }}"' +benchmark-client-run-script-args: '--run-args "-u http://${BENCHMARK_SERVER_NAME}:5000 --protocol {{ protocol }} -s ServerStreaming --rounds 3 --channels {{ channels }} --streams {{ streams }} --serialization {{ serialization }} --validate true --tags {{ tags }}" --build-args "{{ buildArgsClient }}"' benchmark-server-run-script-path: ".github/scripts/benchmark-server-run.sh" benchmark-server-run-script-args: '--run-args "-u http://0.0.0.0:5000 --protocol {{ protocol }} --serialization {{ serialization }} --validate true --tags {{ tags }}" --build-args "{{ buildArgsServer }}"' benchmark-server-stop-script-path: ".github/scripts/benchmark-server-stop.sh"