From 1073d52441ff1af1b4eb539e48a6610fa00ec0fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Habinshuti?= Date: Thu, 2 Sep 2021 12:08:57 +0300 Subject: [PATCH] Configure remote profiles for running benchmarks (#2168) * Add benchmark profiles for asp.net lab machines * Update Readme --- README.md | 26 ++++++++++++++++++++++++++ benchmarks.yml | 15 ++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 07f081fbe5..bdd5273f25 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,32 @@ The easiest way to run the perf benchmarks is to use the [Microsoft.Crank](https crank --config benchmarks.yml --scenario UriParser --profile local ``` +#### Run benchmarks on remote dedicated agents + +The `local` profile is provided for testing purposes, but it's not ideal for running benchmarks. +For more stable results and results that we can more reliably compare, the following profiles are also +available and should be preferred whenever possible: + +Profile | Machine Architecture | OS +--------------|----------------------|------ +`lab-windows` | INTEL, 12 Cores | Windows Server 2016 +`lab-linux` | INTEL, 12 Cores | Ubuntu 18.04, Kernel 4.x + +Use the `--profile` argument to specify the profile you want to use. For example, +to run the components benchmark on the Windows agent, run the following command: + +``` +crank --config benchmarks.yml --scenario Components --profile lab-windows +``` + +And to run on the Linux agent: + +``` +crank --config benchmarks.yml --scenario Components --profile lab-linux +``` + +PS: We should not use these machines to run automated scheduled benchmarks. + #### Run benchmarks against the official repo To run benchmarks against the official repo instead of your local repo, pass diff --git a/benchmarks.yml b/benchmarks.yml index 7e3ec57577..8f9de70670 100644 --- a/benchmarks.yml +++ b/benchmarks.yml @@ -1,4 +1,3 @@ - variables: # set to true to run benchmarks against master branch of main/official repo base: false @@ -80,3 +79,17 @@ profiles: application: endpoints: - http://localhost:5010 + # Remote lab machines for benchmarking + # These are also used by ASP.NET team + # for more info visit: https://github.com/aspnet/Benchmarks/tree/main/scenarios + # and https://github.com/aspnet/Benchmarks/blob/main/scenarios/aspnet.profiles.yml + lab-windows: + jobs: + application: + endpoints: + - http://asp-perf-win:5001 + lab-linux: + jobs: + application: + endpoints: + - http://asp-perf-lin:5001