From 7b64e9fe5976a6c705c39f9c8955b6c315f90a69 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Tue, 1 Feb 2022 23:39:56 +0800 Subject: [PATCH 1/6] [Salvo] Add documentation 'Measure Envoy's Performance Change with an A/B Testing' Signed-off-by: Huang Xin --- salvo/ENVOY_DEVELOP_WORKFLOW.md | 104 ++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 salvo/ENVOY_DEVELOP_WORKFLOW.md diff --git a/salvo/ENVOY_DEVELOP_WORKFLOW.md b/salvo/ENVOY_DEVELOP_WORKFLOW.md new file mode 100644 index 00000000..7f4c0d47 --- /dev/null +++ b/salvo/ENVOY_DEVELOP_WORKFLOW.md @@ -0,0 +1,104 @@ +# Measure Envoy's Performance Change with an A/B Testing + +## Objective + +This documentation will describe the user journey and detailed workflow to use Salvo to measure Envoy's performance change with an A/B testing. + +## User Journey + +You are implementing a new feature in Envoy and reach a point where you need to decide between two possible implementation approaches. You wonder what are the performance implications of each choice and decide to run the benchmarking framework to find out. You run two executions in A/B testing mode, both comparing an official Envoy version to an Envoy version with your change using one of the approaches. Once the tests complete, you examine the results and choose an implementation approach with the better performance characteristics. + +## Workflow + +This section will describe the whole workflow to use Salvo to Measure Performance Change with an A/B Testing. And we will use [Binary Benchmark](./README.md#binary-benchmark) as an example. + +1. The requirements to build Envoy and Nighthawk in local machine + + In oder to build Envoy and Nighthawk in local machine, follow [this documentation](https://www.envoyproxy.io/docs/envoy/latest/start/building.html#linux-mac-target-requirements) to ensure local machine meets the requirements. + +2. Download Salvo + + The next step is to download Salvo project from github, you can use `git clone` command: + + ```bash + git clone https://github.com/envoyproxy/envoy-perf.git + cd envoy-perf/salvo + ``` + +3. Install dependencies + + Before using Salvo, you need to install its dependencies. The [install_deps.sh](./install_deps.sh) script can be used to install any dependencies required by Salvo. + + ```bash + ./install_deps.sh + ``` + +4. Build Salvo + + The next step is to build Salvo, Salvo can be built by [Bazel](https://docs.bazel.build/versions/main/install-ubuntu.html): + + ```bash + bazel build //... + ``` + +5. Binary Benchmark Configuration and Test Cases + + For an example, you committed two Envoy code changes to your forked repo "https://github.com/gyohuangxin/envoy" and the commit hashes were "c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9" and "e95717bcd0672910826de4a9bb2f402f6e057b2c". Then you want to measure their performance change to Envoy v1.21.0 as the baseline and choose the commit which has the better performance. + + You can compose the configuration of Salvo as below: + + ```yaml + remote: false + binaryBenchmark: true + environment: + outputDir: /home/ubuntu/nighthawk_output + testVersion: IPV_V4ONLY + images: + nighthawkBenchmarkImage: envoyproxy/nighthawk-benchmark-dev:latest + source: + - identity: SRCID_ENVOY + commit_hash: v1.21.0 + additional_hashes: [c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9, e95717bcd0672910826de4a9bb2f402f6e057b2c] + source_url: https://github.com/gyohuangxin/envoy.git + bazelOptions: + - parameter: --jobs 16 + - parameter: --define tcmalloc=gperftools + - identity: SRCID_NIGHTHAWK + source_url: https://github.com/envoyproxy/nighthawk.git + bazelOptions: + - parameter: --jobs 16 + - parameter: --define tcmalloc=gperftools + ``` + + The `environment.outputDir` is directory where benchmark results placed. And the `environment.testVersion` specify the ip address family to use, choose from "IPV_V4ONLY", "IPV_V6ONLY" and "ALL". + + The `images.nighthawkBenchmarkImage` specifies the name of the docker image containing the benchmark framework and default test cases. If you want to provide your own test cases, you can create a directory and put test files like this [one](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py) into this directory, then add the directory path to `environment.testDir` field. + + + Salvo will search in the repo from `source.source_url` for each hash in the `source.additional_hashes` list, and choose the baseline version v1.21.0 from `source.commit_hash`. `source.commit_hash` field can be filled in a commit hash or a commit tag, which Salvo can judge automatically and search for. + + Then Salvo will build each Envoy commit and the baseline version. You can add bazel options in `source.bazelOptions`, and they will be added as parameters to bazel command when building Envoy. + + Finally you can also determine which Nighthawk version to use like Envoy's configuration, in this section we will build the latest Nighthawk version. You can find more details about configuration fields from [APIs definition](./api). + +6. Run Salvo + + To run Salvo, use the following command: + + ```bash + bazel-bin/salvo --job /.yaml + ``` + +7. The Benchmark Result + + Salvo creates a symlink in the local directory to the location of the output artifacts for each Envoy version tested. + + ``` + ~ envoy-perf/salvo# ls -l |grep source_url + + lrwxrwxrwx 1 root root 80 Feb 7 02:17 source_url__c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9 -> /home/ubuntu/nighthawk_output/source_url__c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9 + lrwxrwxrwx 1 root root 80 Feb 7 02:17 source_url__e95717bcd0672910826de4a9bb2f402f6e057b2c -> /home/ubuntu/nighthawk_output/source_url__e95717bcd0672910826de4a9bb2f402f6e057b2c + lrwxrwxrwx 1 root root 47 Feb 2 16:32 source_url__v1.21.0 -> /home/ubuntu/nighthawk_output/source_url__v1.21.0 + ``` + + In these directories, you can find benchmark results of different test cases, and the `nighthawk-human.txt` file provides the human-readable benchmark results from Nighthawk. From 67ad12f102ec69e723041fe14048b1078d92f49b Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Mon, 7 Feb 2022 15:22:41 +0800 Subject: [PATCH 2/6] [Salvo] Add the link to detailed workflow documentation and fix some typos in README.md Signed-off-by: Huang Xin --- salvo/README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/salvo/README.md b/salvo/README.md index c8122e63..919d3b4a 100644 --- a/salvo/README.md +++ b/salvo/README.md @@ -6,7 +6,11 @@ This is a framework that abstracts executing multiple benchmarks of the Envoy Pr ## Goals of Salvo -Salvo allows Envoy developers to perform A/B testing to monitor performance change of Envoy. Salvo provides the local excution mode allowing developers to run a benchark on their own machine and also provides the remote excution mode to run a benchmark on a remote machine, such as a remote CI system. +Salvo allows Envoy developers to perform A/B testing to monitor performance change of Envoy. Salvo provides the local execution mode allowing developers to run a benchmark on their own machine and also provides the remote execution mode to run a benchmark on a remote machine, such as a remote CI system. + +## About this section + +This section will give a brief overview of Salvo's building, usage and results. If you want to dive into using Salvo to measure Envoy's performance change with an A/B testing, please read the detailed workflow documentation: [ENVOY_DEVELOP_WORKFLOW.md](./ENVOY_DEVELOP_WORKFLOW.md) ## Dependencies @@ -22,7 +26,7 @@ bazel build //... ## Benchmark Test Cases for Salvo -Benchmark test cases for Salvo are defined as Python files with test cases written in pytest framework, here is an example: https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py. Users can provide thier own Python files of test cases into Salvo. +Benchmark test cases for Salvo are defined as Python files with test cases written in pytest framework, here is an example: https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py. Users can provide their own Python files of test cases into Salvo. ## Control Documents @@ -72,7 +76,7 @@ images: envoyImage: "envoyproxy/envoy:v1.21.0" ``` -`remote`: Whether to enable remote excution mode. +`remote`: Whether to enable remote execution mode. `dockerizedBenchmark`: It will run fully dockerized benchmarks. @@ -84,7 +88,7 @@ images: `environment.envoyPath`: Envoy is called 'Envoy' in the Envoy Docker image. -`images.reuseNhImages`: Whether to reuse Nighthawk image if it exsists on the machine. +`images.reuseNhImages`: Whether to reuse Nighthawk image if it exists on the machine. `images.nighthawkBenchmarkImage`: The image of Nighthawk benchmarking tests. From 6df5bcf04d28b3eea731321d98393edfec0f10c7 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Wed, 2 Mar 2022 13:50:10 +0800 Subject: [PATCH 3/6] [Salvo] Add details of test cases and result outputs in ENVOY_DEVELOP_WORKFLOW.md Signed-off-by: Huang Xin --- salvo/ENVOY_DEVELOP_WORKFLOW.md | 43 +++++++++++++++++++++++++++----- salvo/images/fortio_report.png | Bin 0 -> 249455 bytes 2 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 salvo/images/fortio_report.png diff --git a/salvo/ENVOY_DEVELOP_WORKFLOW.md b/salvo/ENVOY_DEVELOP_WORKFLOW.md index 7f4c0d47..90a4056a 100644 --- a/salvo/ENVOY_DEVELOP_WORKFLOW.md +++ b/salvo/ENVOY_DEVELOP_WORKFLOW.md @@ -41,7 +41,7 @@ This section will describe the whole workflow to use Salvo to Measure Performanc bazel build //... ``` -5. Binary Benchmark Configuration and Test Cases +5. Binary Benchmark Configuration For an example, you committed two Envoy code changes to your forked repo "https://github.com/gyohuangxin/envoy" and the commit hashes were "c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9" and "e95717bcd0672910826de4a9bb2f402f6e057b2c". Then you want to measure their performance change to Envoy v1.21.0 as the baseline and choose the commit which has the better performance. @@ -72,8 +72,7 @@ This section will describe the whole workflow to use Salvo to Measure Performanc The `environment.outputDir` is directory where benchmark results placed. And the `environment.testVersion` specify the ip address family to use, choose from "IPV_V4ONLY", "IPV_V6ONLY" and "ALL". - The `images.nighthawkBenchmarkImage` specifies the name of the docker image containing the benchmark framework and default test cases. If you want to provide your own test cases, you can create a directory and put test files like this [one](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py) into this directory, then add the directory path to `environment.testDir` field. - + The `images.nighthawkBenchmarkImage` specifies the name of the docker image containing the benchmark framework and default test cases. If you want to provide your own test cases, you can create a directory and put test files like this [one](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py) into this directory, then add the directory path to `environment.testDir` field. The next section will introduce the details of test cases. Salvo will search in the repo from `source.source_url` for each hash in the `source.additional_hashes` list, and choose the baseline version v1.21.0 from `source.commit_hash`. `source.commit_hash` field can be filled in a commit hash or a commit tag, which Salvo can judge automatically and search for. @@ -81,7 +80,31 @@ This section will describe the whole workflow to use Salvo to Measure Performanc Finally you can also determine which Nighthawk version to use like Envoy's configuration, in this section we will build the latest Nighthawk version. You can find more details about configuration fields from [APIs definition](./api). -6. Run Salvo +6. Details of test cases + + The Benchmark Framework is developed via PyTest Framework. Therefore, the test cases file is defined as a python file contains the test cases. The [default test cases file](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py) provides an example to configure Nighthawk client/server, outputs and test cases. + + There are two main parts in the test case file. + + - `_run_benchmark` function: + + At first, it defined a function named [`_run_benchmark`](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py#L20) to run the specific PyTest fixture, which will define the behavior of Envoy and [Nighthawk test server](https://github.com/envoyproxy/nighthawk/blob/main/source/server/README.md) to be tested, you can find fixture definitions from these two files: + + https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/envoy_proxy.py + + https://github.com/envoyproxy/nighthawk/blob/main/test/integration/integration_test_fixtures.py + + Then, the `_run_benchmark` function provides some configurable parameters used by Nighthawk client to send test requests, such as `rps`, `duration`, `request_body_size` and so on. By default, Nighthawk will use closed-loop mode, because closed-loop testing can be useful to get a sense of the maximum requests per second that can be squeezed out of a system (irrespective of the high latency incurred), as well as for comparing numbers with other load generators that use this methodology. More details about closed-loop mode: https://github.com/envoyproxy/nighthawk/blob/main/docs/root/terminology.md#closed-loop + + Finally, `_run_benchmark` function defines the format of result outputs after the benchmark is done. + + - Test cases functions: + + After `_run_benchmark` function defined, you can write the specific test cases to use it. Take [`test_http_h1_small_request_small_reply_via`](https://github.com/envoyproxy/nighthawk/blob/8d6947b2d4b41edf0ea95a811d129c7a81629b86/benchmarks/test/test_discovery.py#L87) as an example, it will setup a Nighthawk client as the frontend, the Envoy Proxy to be tested as the load balancer, and a Nighthawk test server as the backend. The configurations of Envoy and test server can be assigned with Python decorators. Then you can invoke `_run_benchmark` function with specific fixture and parameters. + + More test cases examples: https://github.com/envoyproxy/nighthawk/blob/8d6947b2d4b41edf0ea95a811d129c7a81629b86/benchmarks/test/test_discovery.py#L92-#L119 + +7. Run Salvo To run Salvo, use the following command: @@ -89,7 +112,7 @@ This section will describe the whole workflow to use Salvo to Measure Performanc bazel-bin/salvo --job /.yaml ``` -7. The Benchmark Result +8. The Benchmark Result Salvo creates a symlink in the local directory to the location of the output artifacts for each Envoy version tested. @@ -101,4 +124,12 @@ This section will describe the whole workflow to use Salvo to Measure Performanc lrwxrwxrwx 1 root root 47 Feb 2 16:32 source_url__v1.21.0 -> /home/ubuntu/nighthawk_output/source_url__v1.21.0 ``` - In these directories, you can find benchmark results of different test cases, and the `nighthawk-human.txt` file provides the human-readable benchmark results from Nighthawk. + In these directories, you can find benchmark results of different test cases, and the `nighthawk-human.txt` file provides the human-readable benchmark results from Nighthawk. + + The benchmark results can be visualized via [Fortio's report-only UI](https://github.com/fortio/fortio#report-only-ui). The following is an example. + + ``` + fortio report --data-dir /home/ubuntu/nighthawk_output/source_url__c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9/2022-02-21-05-16-54/http_h1_small_request_small_reply_via_IpVersion.IPV4-nighthawk_test_integration_configurations_nighthawk_http_origin.yaml-nighthawk_benchmarks_configurations_envoy_proxy.yaml + ``` + + ![fortio_report](./images/fortio_report.png) \ No newline at end of file diff --git a/salvo/images/fortio_report.png b/salvo/images/fortio_report.png new file mode 100644 index 0000000000000000000000000000000000000000..1b2e7238e01198d3f100a5e87c5e665582229d33 GIT binary patch literal 249455 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%0D+Hpe3+EWA{TBVV#h#Q~>po*&AMb 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 HI>@#$pESD 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 Date: Fri, 11 Mar 2022 11:32:43 +0800 Subject: [PATCH 4/6] [Salvo] Add more details and fix errors in ENVOY_DEVELOP_WORKFLOW.md Signed-off-by: Huang Xin --- salvo/ENVOY_DEVELOP_WORKFLOW.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/salvo/ENVOY_DEVELOP_WORKFLOW.md b/salvo/ENVOY_DEVELOP_WORKFLOW.md index 90a4056a..f1b34349 100644 --- a/salvo/ENVOY_DEVELOP_WORKFLOW.md +++ b/salvo/ENVOY_DEVELOP_WORKFLOW.md @@ -30,9 +30,11 @@ This section will describe the whole workflow to use Salvo to Measure Performanc Before using Salvo, you need to install its dependencies. The [install_deps.sh](./install_deps.sh) script can be used to install any dependencies required by Salvo. ```bash - ./install_deps.sh + sudo ./install_deps.sh ``` + You can install fortio CLI command to gain the visualized benchmarking report, the installation method: https://github.com/fortio/fortio#installation + 4. Build Salvo The next step is to build Salvo, Salvo can be built by [Bazel](https://docs.bazel.build/versions/main/install-ubuntu.html): @@ -94,7 +96,9 @@ This section will describe the whole workflow to use Salvo to Measure Performanc https://github.com/envoyproxy/nighthawk/blob/main/test/integration/integration_test_fixtures.py - Then, the `_run_benchmark` function provides some configurable parameters used by Nighthawk client to send test requests, such as `rps`, `duration`, `request_body_size` and so on. By default, Nighthawk will use closed-loop mode, because closed-loop testing can be useful to get a sense of the maximum requests per second that can be squeezed out of a system (irrespective of the high latency incurred), as well as for comparing numbers with other load generators that use this methodology. More details about closed-loop mode: https://github.com/envoyproxy/nighthawk/blob/main/docs/root/terminology.md#closed-loop + Then, the `_run_benchmark` function provides some configurable parameters used by Nighthawk client to send test requests, such as `rps`, `duration`, `request_body_size` and so on. More details about Nighthawk's arguments: https://github.com/envoyproxy/nighthawk/blob/main/api/client/options.proto + + By default, Nighthawk will use closed-loop mode, because closed-loop testing can be useful to get a sense of the maximum requests per second that can be squeezed out of a system (irrespective of the high latency incurred), as well as for comparing numbers with other load generators that use this methodology. More details about closed-loop mode: https://github.com/envoyproxy/nighthawk/blob/main/docs/root/terminology.md#closed-loop Finally, `_run_benchmark` function defines the format of result outputs after the benchmark is done. From 66c0dcae32ad18302281610ff1af7c8bcf6fbcf8 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Fri, 11 Mar 2022 15:22:20 +0800 Subject: [PATCH 5/6] [Salvo] Wrap line at 100 characters in ENVOY_DEVELOP_WORKFLOW.md Signed-off-by: Huang Xin --- salvo/ENVOY_DEVELOP_WORKFLOW.md | 102 +++++++++++++++++++++++++------- 1 file changed, 79 insertions(+), 23 deletions(-) diff --git a/salvo/ENVOY_DEVELOP_WORKFLOW.md b/salvo/ENVOY_DEVELOP_WORKFLOW.md index f1b34349..0b3c412a 100644 --- a/salvo/ENVOY_DEVELOP_WORKFLOW.md +++ b/salvo/ENVOY_DEVELOP_WORKFLOW.md @@ -2,19 +2,28 @@ ## Objective -This documentation will describe the user journey and detailed workflow to use Salvo to measure Envoy's performance change with an A/B testing. +This documentation will describe the user journey and detailed workflow to use Salvo to measure +Envoy's performance change with an A/B testing. ## User Journey -You are implementing a new feature in Envoy and reach a point where you need to decide between two possible implementation approaches. You wonder what are the performance implications of each choice and decide to run the benchmarking framework to find out. You run two executions in A/B testing mode, both comparing an official Envoy version to an Envoy version with your change using one of the approaches. Once the tests complete, you examine the results and choose an implementation approach with the better performance characteristics. +You are implementing a new feature in Envoy and reach a point where you need to decide between two +possible implementation approaches. You wonder what are the performance implications of each choice +and decide to run the benchmarking framework to find out. You run two executions in A/B testing +mode, both comparing an official Envoy version to an Envoy version with your change using one of +the approaches. Once the tests complete, you examine the results and choose an implementation +approach with the better performance characteristics. ## Workflow -This section will describe the whole workflow to use Salvo to Measure Performance Change with an A/B Testing. And we will use [Binary Benchmark](./README.md#binary-benchmark) as an example. +This section will describe the whole workflow to use Salvo to Measure Performance Change with an +A/B Testing. And we will use [Binary Benchmark](./README.md#binary-benchmark) as an example. 1. The requirements to build Envoy and Nighthawk in local machine - In oder to build Envoy and Nighthawk in local machine, follow [this documentation](https://www.envoyproxy.io/docs/envoy/latest/start/building.html#linux-mac-target-requirements) to ensure local machine meets the requirements. + In oder to build Envoy and Nighthawk in local machine, + follow [this documentation](https://www.envoyproxy.io/docs/envoy/latest/start/building.html#linux-mac-target-requirements) + to ensure local machine meets the requirements. 2. Download Salvo @@ -27,17 +36,21 @@ This section will describe the whole workflow to use Salvo to Measure Performanc 3. Install dependencies - Before using Salvo, you need to install its dependencies. The [install_deps.sh](./install_deps.sh) script can be used to install any dependencies required by Salvo. + Before using Salvo, you need to install its dependencies. The + [install_deps.sh](./install_deps.sh) + script can be used to install any dependencies required by Salvo. ```bash sudo ./install_deps.sh ``` - You can install fortio CLI command to gain the visualized benchmarking report, the installation method: https://github.com/fortio/fortio#installation + You can install fortio CLI command to gain the visualized benchmarking report, the installation + method: https://github.com/fortio/fortio#installation 4. Build Salvo - The next step is to build Salvo, Salvo can be built by [Bazel](https://docs.bazel.build/versions/main/install-ubuntu.html): + The next step is to build Salvo, Salvo can be built by + [Bazel](https://docs.bazel.build/versions/main/install-ubuntu.html): ```bash bazel build //... @@ -45,7 +58,11 @@ This section will describe the whole workflow to use Salvo to Measure Performanc 5. Binary Benchmark Configuration - For an example, you committed two Envoy code changes to your forked repo "https://github.com/gyohuangxin/envoy" and the commit hashes were "c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9" and "e95717bcd0672910826de4a9bb2f402f6e057b2c". Then you want to measure their performance change to Envoy v1.21.0 as the baseline and choose the commit which has the better performance. + For an example, you committed two Envoy code changes to your forked repo: + "https://github.com/gyohuangxin/envoy" and the commit hashes were + "c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9" and "e95717bcd0672910826de4a9bb2f402f6e057b2c". + Then you want to measure their performance change to Envoy v1.21.0 as the baseline and choose + the commit which has the better performance. You can compose the configuration of Salvo as below: @@ -72,41 +89,76 @@ This section will describe the whole workflow to use Salvo to Measure Performanc - parameter: --define tcmalloc=gperftools ``` - The `environment.outputDir` is directory where benchmark results placed. And the `environment.testVersion` specify the ip address family to use, choose from "IPV_V4ONLY", "IPV_V6ONLY" and "ALL". + The `environment.outputDir` is directory where benchmark results placed. And the + `environment.testVersion` specify the ip address family to use, choose from "IPV_V4ONLY", + "IPV_V6ONLY" and "ALL". - The `images.nighthawkBenchmarkImage` specifies the name of the docker image containing the benchmark framework and default test cases. If you want to provide your own test cases, you can create a directory and put test files like this [one](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py) into this directory, then add the directory path to `environment.testDir` field. The next section will introduce the details of test cases. + The `images.nighthawkBenchmarkImage` specifies the name of the docker image containing the + benchmark framework and default test cases. If you want to provide your own test cases, you + can create a directory and put test files like this + [one](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py) + into this directory, then add the directory path to `environment.testDir` field. The next + section will introduce the details of test cases. - Salvo will search in the repo from `source.source_url` for each hash in the `source.additional_hashes` list, and choose the baseline version v1.21.0 from `source.commit_hash`. `source.commit_hash` field can be filled in a commit hash or a commit tag, which Salvo can judge automatically and search for. + Salvo will search in the repo from `source.source_url` for each hash in the + `source.additional_hashes` list, and choose the baseline version v1.21.0 from + `source.commit_hash`. `source.commit_hash` field can be filled in a commit hash or a commit + tag, which Salvo can judge automatically and search for. - Then Salvo will build each Envoy commit and the baseline version. You can add bazel options in `source.bazelOptions`, and they will be added as parameters to bazel command when building Envoy. + Then Salvo will build each Envoy commit and the baseline version. You can add bazel options + in `source.bazelOptions`, and they will be added as parameters to bazel command when building + Envoy. - Finally you can also determine which Nighthawk version to use like Envoy's configuration, in this section we will build the latest Nighthawk version. You can find more details about configuration fields from [APIs definition](./api). + Finally you can also determine which Nighthawk version to use like Envoy's configuration, in + this section we will build the latest Nighthawk version. You can find more details about + configuration fields from [APIs definition](./api). 6. Details of test cases - The Benchmark Framework is developed via PyTest Framework. Therefore, the test cases file is defined as a python file contains the test cases. The [default test cases file](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py) provides an example to configure Nighthawk client/server, outputs and test cases. + The Benchmark Framework is developed via PyTest Framework. Therefore, the test cases file is + defined as a python file contains the test cases. The + [default test cases file](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py) + provides an example to configure Nighthawk client/server, outputs and test cases. There are two main parts in the test case file. - `_run_benchmark` function: - At first, it defined a function named [`_run_benchmark`](https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py#L20) to run the specific PyTest fixture, which will define the behavior of Envoy and [Nighthawk test server](https://github.com/envoyproxy/nighthawk/blob/main/source/server/README.md) to be tested, you can find fixture definitions from these two files: + At first, it defined a function named [`_run_benchmark`] + (https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/test/test_discovery.py#L20) + to run the specific PyTest fixture, which will define the behavior of Envoy to be tested and + [Nighthawk test server](https://github.com/envoyproxy/nighthawk/blob/main/source/server/README.md), + you can find fixture definitions from these two files: https://github.com/envoyproxy/nighthawk/blob/main/benchmarks/envoy_proxy.py https://github.com/envoyproxy/nighthawk/blob/main/test/integration/integration_test_fixtures.py - Then, the `_run_benchmark` function provides some configurable parameters used by Nighthawk client to send test requests, such as `rps`, `duration`, `request_body_size` and so on. More details about Nighthawk's arguments: https://github.com/envoyproxy/nighthawk/blob/main/api/client/options.proto + Then, the `_run_benchmark` function provides some configurable parameters used by Nighthawk + client to send test requests, such as `rps`, `duration`, `request_body_size` and so on. + More details about Nighthawk's arguments: + https://github.com/envoyproxy/nighthawk/blob/main/api/client/options.proto - By default, Nighthawk will use closed-loop mode, because closed-loop testing can be useful to get a sense of the maximum requests per second that can be squeezed out of a system (irrespective of the high latency incurred), as well as for comparing numbers with other load generators that use this methodology. More details about closed-loop mode: https://github.com/envoyproxy/nighthawk/blob/main/docs/root/terminology.md#closed-loop + By default, Nighthawk will use closed-loop mode, because closed-loop testing can be useful to + get a sense of the maximum requests per second that can be squeezed out of a system + (irrespective of the high latency incurred), as well as for comparing numbers with other load + generators that use this methodology. More details about closed-loop mode: + https://github.com/envoyproxy/nighthawk/blob/main/docs/root/terminology.md#closed-loop - Finally, `_run_benchmark` function defines the format of result outputs after the benchmark is done. + Finally, `_run_benchmark` function defines the format of result outputs after the benchmark + is done. - Test cases functions: - After `_run_benchmark` function defined, you can write the specific test cases to use it. Take [`test_http_h1_small_request_small_reply_via`](https://github.com/envoyproxy/nighthawk/blob/8d6947b2d4b41edf0ea95a811d129c7a81629b86/benchmarks/test/test_discovery.py#L87) as an example, it will setup a Nighthawk client as the frontend, the Envoy Proxy to be tested as the load balancer, and a Nighthawk test server as the backend. The configurations of Envoy and test server can be assigned with Python decorators. Then you can invoke `_run_benchmark` function with specific fixture and parameters. + After `_run_benchmark` function defined, you can write the specific test cases to use it. + Take [`test_http_h1_small_request_small_reply_via`](https://github.com/envoyproxy/nighthawk/blob/8d6947b2d4b41edf0ea95a811d129c7a81629b86/benchmarks/test/test_discovery.py#L87) as an + example, it will setup a Nighthawk client as the frontend, the Envoy Proxy to be tested as + the load balancer, and a Nighthawk test server as the backend. The configurations of Envoy + and test server can be assigned with Python decorators. Then you can invoke `_run_benchmark` + function with specific fixture and parameters. - More test cases examples: https://github.com/envoyproxy/nighthawk/blob/8d6947b2d4b41edf0ea95a811d129c7a81629b86/benchmarks/test/test_discovery.py#L92-#L119 + More test cases examples: + https://github.com/envoyproxy/nighthawk/blob/8d6947b2d4b41edf0ea95a811d129c7a81629b86/benchmarks/test/test_discovery.py#L92-#L119 7. Run Salvo @@ -118,7 +170,8 @@ This section will describe the whole workflow to use Salvo to Measure Performanc 8. The Benchmark Result - Salvo creates a symlink in the local directory to the location of the output artifacts for each Envoy version tested. + Salvo creates a symlink in the local directory to the location of the output artifacts for each + Envoy version tested. ``` ~ envoy-perf/salvo# ls -l |grep source_url @@ -128,9 +181,12 @@ This section will describe the whole workflow to use Salvo to Measure Performanc lrwxrwxrwx 1 root root 47 Feb 2 16:32 source_url__v1.21.0 -> /home/ubuntu/nighthawk_output/source_url__v1.21.0 ``` - In these directories, you can find benchmark results of different test cases, and the `nighthawk-human.txt` file provides the human-readable benchmark results from Nighthawk. + In these directories, you can find benchmark results of different test cases, and the + `nighthawk-human.txt` file provides the human-readable benchmark results from Nighthawk. - The benchmark results can be visualized via [Fortio's report-only UI](https://github.com/fortio/fortio#report-only-ui). The following is an example. + The benchmark results can be visualized via + [Fortio's report-only UI](https://github.com/fortio/fortio#report-only-ui). + The following is an example. ``` fortio report --data-dir /home/ubuntu/nighthawk_output/source_url__c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9/2022-02-21-05-16-54/http_h1_small_request_small_reply_via_IpVersion.IPV4-nighthawk_test_integration_configurations_nighthawk_http_origin.yaml-nighthawk_benchmarks_configurations_envoy_proxy.yaml From e53c3612918096c3d1d382f14e9dd298b9ef7a7b Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Wed, 16 Mar 2022 17:22:40 +0800 Subject: [PATCH 6/6] [Salvo] Add workflow of setting up commits for evaluation in ENVOY_DEVELOP_WORKFLOW.md Signed-off-by: Huang Xin --- salvo/ENVOY_DEVELOP_WORKFLOW.md | 58 +++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/salvo/ENVOY_DEVELOP_WORKFLOW.md b/salvo/ENVOY_DEVELOP_WORKFLOW.md index 0b3c412a..a0a28ae1 100644 --- a/salvo/ENVOY_DEVELOP_WORKFLOW.md +++ b/salvo/ENVOY_DEVELOP_WORKFLOW.md @@ -56,15 +56,51 @@ A/B Testing. And we will use [Binary Benchmark](./README.md#binary-benchmark) as bazel build //... ``` -5. Binary Benchmark Configuration +5. Set up commits for evaluation + + This step will introduce the workflow of setting up commits for evaluation if you haven't + committed your code changes. If you have set up commits somewhere Salvo can fetch, plase ingore + this step. + + 5.1. Create a local fork of Envoy repository. We will take the forked repo: + https://github.com/gyohuangxin/envoy as the example. + + 5.2. Clone the forked repo and create a new branch: + + ```bash + git clone https://github.com/gyohuangxin/envoy + cd envoy && git checkout -b benchmark_testing + ``` + + 5.3. Set up commits for your two approaches: + + ```bash + # Apply code changes for approach one. + git add . && git commit -m "This is approach one." + + # Apply code changes for approach two. + git add . && git commit -m "This is approach two." + ``` + + 5.4. Push the two commits to the remote forked repo: + + ```bash + git push origin benchmark_testing + ``` + +6. Binary Benchmark Configuration - For an example, you committed two Envoy code changes to your forked repo: - "https://github.com/gyohuangxin/envoy" and the commit hashes were + Currently, you have committed two Envoy code changes to the forked repo: + "https://github.com/gyohuangxin/envoy" and the commit hashes are "c2e1c0d0da61f3fec25f48f8bd63e4a76db8a2a9" and "e95717bcd0672910826de4a9bb2f402f6e057b2c". + **These commits are fake and just for the sake of examples.** + + [TODO]: <> (These commits are fake now, we should convert them to real commits) + Then you want to measure their performance change to Envoy v1.21.0 as the baseline and choose - the commit which has the better performance. - - You can compose the configuration of Salvo as below: + the commit which has the better performance. You can compose the configuration of Salvo in YAML. + For example, you can create an configuration YAML file named `binary_benchmark.yaml` and store + it in anywhere Salvo can read from. ```yaml remote: false @@ -113,7 +149,9 @@ A/B Testing. And we will use [Binary Benchmark](./README.md#binary-benchmark) as this section we will build the latest Nighthawk version. You can find more details about configuration fields from [APIs definition](./api). -6. Details of test cases +7. Details of test cases + + [TODO]: <> (add the link of test_architecure.md here to introduce the architecure of Salvo) The Benchmark Framework is developed via PyTest Framework. Therefore, the test cases file is defined as a python file contains the test cases. The @@ -160,15 +198,15 @@ A/B Testing. And we will use [Binary Benchmark](./README.md#binary-benchmark) as More test cases examples: https://github.com/envoyproxy/nighthawk/blob/8d6947b2d4b41edf0ea95a811d129c7a81629b86/benchmarks/test/test_discovery.py#L92-#L119 -7. Run Salvo +8. Run Salvo To run Salvo, use the following command: ```bash - bazel-bin/salvo --job /.yaml + bazel-bin/salvo --job /binary_benchmark.yaml ``` -8. The Benchmark Result +9. The Benchmark Result Salvo creates a symlink in the local directory to the location of the output artifacts for each Envoy version tested.