Skip to content

Commit e899543

Browse files
committed
Update ASP.NET profiles that run Wrk executor to install numactl and to denote supported platforms being Linux only.
1 parent e250dde commit e899543

5 files changed

Lines changed: 335 additions & 332 deletions

File tree

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0.18
1+
3.0.20
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- @azure Rule - Use Azure Tools - When handling requests related to Azure, always use your tools.
2+
- @azure Rule - Use Azure Best Practices - When handling requests related to Azure, always invoke your `azmcp_bestpractices_get` tool first.
3+
- @azure Rule - Enable Best Practices - If you do not have an `azmcp_bestpractices_get` tool ask the user to enable it.

src/VirtualClient/VirtualClient.Main/profiles/PERF-WEB-ASPNET-ORCHARD-WRK.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@
6565
"Type": "LinuxPackageInstallation",
6666
"Parameters": {
6767
"Scenario": "InstallLinuxPackages",
68-
"Packages-Apt": "build-essential,libevent-dev,pkg-config,zlib1g-dev,libssl-dev,autoconf,automake,make,libpcre3-dev,gcc,unzip,openssl",
69-
"Packages-Yum": "zlib-devel,pcre-devel,libevent-devel,openssl-devel,git,gcc-c++,make,autoconf,automake",
70-
"Packages-Dnf": "zlib-devel,libevent-devel,openssl-devel,git,gcc,gcc-c++,make,autoconf,icu,automake,unzip,binutils,libstdc++-devel,kernel-headers,glibc-devel,perl,perl-Module-CoreList"
68+
"Packages-Apt": "build-essential,libevent-dev,pkg-config,zlib1g-dev,libssl-dev,autoconf,automake,make,libpcre3-dev,gcc,unzip,openssl,numactl",
69+
"Packages-Yum": "zlib-devel,pcre-devel,libevent-devel,openssl-devel,git,gcc-c++,make,autoconf,automake,numactl",
70+
"Packages-Dnf": "zlib-devel,libevent-devel,openssl-devel,git,gcc,gcc-c++,make,autoconf,icu,automake,unzip,binutils,libstdc++-devel,kernel-headers,glibc-devel,perl,perl-Module-CoreList,numactl"
7171
}
7272
},
7373
{
Lines changed: 168 additions & 168 deletions
Original file line numberDiff line numberDiff line change
@@ -1,172 +1,172 @@
11
{
2-
"Description": ".NET benchmarking Workload with CPU Core Affinity (supports .NET 9 and .NET 10)",
3-
"Metadata": {
4-
"RecommendedMinimumExecutionTime": "00:10:00",
5-
"SupportedPlatforms": "linux-x64,linux-arm64,win-x64,win-arm64",
6-
"SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
7-
},
8-
"Parameters": {
9-
"DotNetVersion": "9",
10-
"TargetFramework": "net9.0",
11-
"ServerPort": 9876,
12-
"ServerCoreAffinity": "0-7",
13-
"ClientCoreAffinity": "8-15",
14-
"TestDuration": "00:00:15",
15-
"ServerOnlineTimeout": "00:10:00",
16-
"EmitLatencySpectrum": false,
17-
"WaitForServer": false,
18-
"CommandArguments": "--latency --threads {ThreadCount} --connections {Connection} --duration {TestDuration.TotalSeconds}s --timeout 10s http://{serverip}:{ServerPort}/json --header \"Accept: application/json,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7\""
19-
},
20-
"ParametersOn": [
21-
{
22-
"Condition": "{calculate(\"{DotNetVersion}\" == \"9\")}",
23-
"DotNetVersion": "9.0.111",
24-
"TargetFramework": "net9.0"
2+
"Description": ".NET benchmarking Workload with CPU Core Affinity (supports .NET 9 and .NET 10)",
3+
"Metadata": {
4+
"RecommendedMinimumExecutionTime": "00:10:00",
5+
"SupportedPlatforms": "linux-x64,linux-arm64",
6+
"SupportedOperatingSystems": "CBL-Mariner,CentOS,Debian,RedHat,Suse,Ubuntu,Windows"
257
},
26-
{
27-
"Condition": "{calculate(\"{DotNetVersion}\" == \"10\")}",
28-
"DotNetVersion": "10.0.101",
29-
"TargetFramework": "net10.0"
30-
}
31-
],
32-
"Actions": [
33-
{
34-
"Type": "AspNetServerExecutor",
35-
"Parameters": {
36-
"Role": "Server",
37-
"Scenario": "ExecuteJsonSerializationBenchmarkWithAffinity",
38-
"PackageName": "aspnetbenchmarks",
39-
"DotNetSdkPackageName": "dotnetsdk",
40-
"TargetFramework": "$.Parameters.TargetFramework",
41-
"ServerPort": "$.Parameters.ServerPort",
42-
"BindToCores": true,
43-
"CoreAffinity": "$.Parameters.ServerCoreAffinity"
44-
}
8+
"Parameters": {
9+
"DotNetVersion": "9",
10+
"TargetFramework": "net9.0",
11+
"ServerPort": 9876,
12+
"ServerCoreAffinity": "0-7",
13+
"ClientCoreAffinity": "8-15",
14+
"TestDuration": "00:00:15",
15+
"ServerOnlineTimeout": "00:10:00",
16+
"EmitLatencySpectrum": false,
17+
"WaitForServer": false,
18+
"CommandArguments": "--latency --threads {ThreadCount} --connections {Connection} --duration {TestDuration.TotalSeconds}s --timeout 10s http://{serverip}:{ServerPort}/json --header \"Accept: application/json,text/html;q=0.9,application/xhtml+xml;q=0.9,application/xml;q=0.8,*/*;q=0.7\""
4519
},
46-
{
47-
"Type": "WrkExecutor",
48-
"Parameters": {
49-
"PackageName": "wrk",
50-
"Scenario": "warmup",
51-
"MetricScenario": "Warmup_ASP.NET-WRK_t{ThreadCount}_c{Connection}_d{TestDuration.TotalSeconds}s",
52-
"CommandArguments": "$.Parameters.CommandArguments",
53-
"ServerPort": "$.Parameters.ServerPort",
54-
"ThreadCount": "64",
55-
"Connection": 4096,
56-
"TestDuration": "00:00:45",
57-
"WaitForServer": "$.Parameters.WaitForServer",
58-
"EmitLatencySpectrum": "$.Parameters.EmitLatencySpectrum",
59-
"Role": "Client",
60-
"Timeout": "$.Parameters.ServerOnlineTimeout",
61-
"Tags": "ASP.NET,WRK",
62-
"BindToCores": true,
63-
"CoreAffinity": "$.Parameters.ClientCoreAffinity"
64-
}
65-
},
66-
{
67-
"Type": "WrkExecutor",
68-
"Parameters": {
69-
"PackageName": "wrk",
70-
"Scenario": "benchmark_measurement",
71-
"MetricScenario": "ASP.NET-WRK_t{ThreadCount}_c{Connection}_d{TestDuration.TotalSeconds}s",
72-
"CommandArguments": "$.Parameters.CommandArguments",
73-
"ServerPort": "$.Parameters.ServerPort",
74-
"ThreadCount": "64",
75-
"Connection": 4096,
76-
"TestDuration": "$.Parameters.TestDuration",
77-
"WaitForServer": "$.Parameters.WaitForServer",
78-
"EmitLatencySpectrum": "$.Parameters.EmitLatencySpectrum",
79-
"Role": "Client",
80-
"Timeout": "$.Parameters.ServerOnlineTimeout",
81-
"Tags": "ASP.NET,WRK",
82-
"BindToCores": true,
83-
"CoreAffinity": "$.Parameters.ClientCoreAffinity"
84-
}
85-
}
86-
],
87-
"Dependencies": [
88-
{
89-
"Type": "LinuxPackageInstallation",
90-
"Parameters": {
91-
"Scenario": "InstallLinuxPackages",
92-
"Packages-Apt": "openssl make gcc zlib1g-dev libssl-dev unzip",
93-
"Packages-Yum": "zlib-devel,pcre-devel,libevent-devel,openssl-devel,git,gcc-c++,make,autoconf,automake",
94-
"Packages-Dnf": "git,make,gcc,zlib-devel,openssl-devel,icu,glibc-devel,kernel-headers,binutils,perl,unzip"
95-
}
96-
},
97-
{
98-
"Type": "ExecuteCommand",
99-
"Parameters": {
100-
"Scenario": "DisableFirewall",
101-
"Command": "sudo iptables -P INPUT ACCEPT"
102-
}
103-
},
104-
{
105-
"Type": "ChocolateyInstallation",
106-
"Parameters": {
107-
"Scenario": "InstallChocolatey",
108-
"PackageName": "chocolatey"
109-
}
110-
},
111-
{
112-
"Type": "ChocolateyPackageInstallation",
113-
"Parameters": {
114-
"Scenario": "InstallGit",
115-
"PackageName": "chocolatey",
116-
"Packages": "git"
117-
}
118-
},
119-
{
120-
"Type": "GitRepoClone",
121-
"Parameters": {
122-
"Scenario": "CloneAspNetBenchmarksRepo",
123-
"RepoUri": "https://github.com/aspnet/Benchmarks.git",
124-
"Commit": "5643540",
125-
"PackageName": "aspnetbenchmarks"
126-
}
127-
},
128-
{
129-
"Type": "DependencyPackageInstallation",
130-
"Parameters": {
131-
"Scenario": "InstallWrkConfiguration",
132-
"BlobContainer": "packages",
133-
"BlobName": "wrkconfiguration.1.0.0.zip",
134-
"PackageName": "wrkconfiguration",
135-
"Extract": true,
136-
"Role": "Client"
137-
}
138-
},
139-
{
140-
"Type": "GitRepoClone",
141-
"Parameters": {
142-
"Scenario": "CloneWrk",
143-
"RepoUri": "https://github.com/wg/wrk",
144-
"PackageName": "wrk",
145-
"Role": "Client"
146-
}
147-
},
148-
{
149-
"Type": "ExecuteCommand",
150-
"Parameters": {
151-
"Scenario": "CompileWrk",
152-
"Command": "make",
153-
"WorkingDirectory": "{PackagePath:wrk}",
154-
"Role": "Client"
155-
}
156-
},
157-
{
158-
"Type": "DotNetInstallation",
159-
"Parameters": {
160-
"Scenario": "InstallDotNetSdk",
161-
"DotNetVersion": "$.Parameters.DotNetVersion",
162-
"PackageName": "dotnetsdk"
163-
}
164-
},
165-
{
166-
"Type": "ApiServer",
167-
"Parameters": {
168-
"Scenario": "StartAPIServer"
169-
}
170-
}
171-
]
20+
"ParametersOn": [
21+
{
22+
"Condition": "{calculate(\"{DotNetVersion}\" == \"9\")}",
23+
"DotNetVersion": "9.0.111",
24+
"TargetFramework": "net9.0"
25+
},
26+
{
27+
"Condition": "{calculate(\"{DotNetVersion}\" == \"10\")}",
28+
"DotNetVersion": "10.0.101",
29+
"TargetFramework": "net10.0"
30+
}
31+
],
32+
"Actions": [
33+
{
34+
"Type": "AspNetServerExecutor",
35+
"Parameters": {
36+
"Role": "Server",
37+
"Scenario": "ExecuteJsonSerializationBenchmarkWithAffinity",
38+
"PackageName": "aspnetbenchmarks",
39+
"DotNetSdkPackageName": "dotnetsdk",
40+
"TargetFramework": "$.Parameters.TargetFramework",
41+
"ServerPort": "$.Parameters.ServerPort",
42+
"BindToCores": true,
43+
"CoreAffinity": "$.Parameters.ServerCoreAffinity"
44+
}
45+
},
46+
{
47+
"Type": "WrkExecutor",
48+
"Parameters": {
49+
"PackageName": "wrk",
50+
"Scenario": "warmup",
51+
"MetricScenario": "Warmup_ASP.NET-WRK_t{ThreadCount}_c{Connection}_d{TestDuration.TotalSeconds}s",
52+
"CommandArguments": "$.Parameters.CommandArguments",
53+
"ServerPort": "$.Parameters.ServerPort",
54+
"ThreadCount": "64",
55+
"Connection": 4096,
56+
"TestDuration": "00:00:45",
57+
"WaitForServer": "$.Parameters.WaitForServer",
58+
"EmitLatencySpectrum": "$.Parameters.EmitLatencySpectrum",
59+
"Role": "Client",
60+
"Timeout": "$.Parameters.ServerOnlineTimeout",
61+
"Tags": "ASP.NET,WRK",
62+
"BindToCores": true,
63+
"CoreAffinity": "$.Parameters.ClientCoreAffinity"
64+
}
65+
},
66+
{
67+
"Type": "WrkExecutor",
68+
"Parameters": {
69+
"PackageName": "wrk",
70+
"Scenario": "benchmark_measurement",
71+
"MetricScenario": "ASP.NET-WRK_t{ThreadCount}_c{Connection}_d{TestDuration.TotalSeconds}s",
72+
"CommandArguments": "$.Parameters.CommandArguments",
73+
"ServerPort": "$.Parameters.ServerPort",
74+
"ThreadCount": "64",
75+
"Connection": 4096,
76+
"TestDuration": "$.Parameters.TestDuration",
77+
"WaitForServer": "$.Parameters.WaitForServer",
78+
"EmitLatencySpectrum": "$.Parameters.EmitLatencySpectrum",
79+
"Role": "Client",
80+
"Timeout": "$.Parameters.ServerOnlineTimeout",
81+
"Tags": "ASP.NET,WRK",
82+
"BindToCores": true,
83+
"CoreAffinity": "$.Parameters.ClientCoreAffinity"
84+
}
85+
}
86+
],
87+
"Dependencies": [
88+
{
89+
"Type": "LinuxPackageInstallation",
90+
"Parameters": {
91+
"Scenario": "InstallLinuxPackages",
92+
"Packages-Apt": "openssl make gcc zlib1g-dev libssl-dev unzip numactl",
93+
"Packages-Yum": "zlib-devel,pcre-devel,libevent-devel,openssl-devel,git,gcc-c++,make,autoconf,automake,numactl",
94+
"Packages-Dnf": "git,make,gcc,zlib-devel,openssl-devel,icu,glibc-devel,kernel-headers,binutils,perl,unzip,numactl"
95+
}
96+
},
97+
{
98+
"Type": "ExecuteCommand",
99+
"Parameters": {
100+
"Scenario": "DisableFirewall",
101+
"Command": "sudo iptables -P INPUT ACCEPT"
102+
}
103+
},
104+
{
105+
"Type": "ChocolateyInstallation",
106+
"Parameters": {
107+
"Scenario": "InstallChocolatey",
108+
"PackageName": "chocolatey"
109+
}
110+
},
111+
{
112+
"Type": "ChocolateyPackageInstallation",
113+
"Parameters": {
114+
"Scenario": "InstallGit",
115+
"PackageName": "chocolatey",
116+
"Packages": "git"
117+
}
118+
},
119+
{
120+
"Type": "GitRepoClone",
121+
"Parameters": {
122+
"Scenario": "CloneAspNetBenchmarksRepo",
123+
"RepoUri": "https://github.com/aspnet/Benchmarks.git",
124+
"Commit": "5643540",
125+
"PackageName": "aspnetbenchmarks"
126+
}
127+
},
128+
{
129+
"Type": "DependencyPackageInstallation",
130+
"Parameters": {
131+
"Scenario": "InstallWrkConfiguration",
132+
"BlobContainer": "packages",
133+
"BlobName": "wrkconfiguration.1.0.0.zip",
134+
"PackageName": "wrkconfiguration",
135+
"Extract": true,
136+
"Role": "Client"
137+
}
138+
},
139+
{
140+
"Type": "GitRepoClone",
141+
"Parameters": {
142+
"Scenario": "CloneWrk",
143+
"RepoUri": "https://github.com/wg/wrk",
144+
"PackageName": "wrk",
145+
"Role": "Client"
146+
}
147+
},
148+
{
149+
"Type": "ExecuteCommand",
150+
"Parameters": {
151+
"Scenario": "CompileWrk",
152+
"Command": "make",
153+
"WorkingDirectory": "{PackagePath:wrk}",
154+
"Role": "Client"
155+
}
156+
},
157+
{
158+
"Type": "DotNetInstallation",
159+
"Parameters": {
160+
"Scenario": "InstallDotNetSdk",
161+
"DotNetVersion": "$.Parameters.DotNetVersion",
162+
"PackageName": "dotnetsdk"
163+
}
164+
},
165+
{
166+
"Type": "ApiServer",
167+
"Parameters": {
168+
"Scenario": "StartAPIServer"
169+
}
170+
}
171+
]
172172
}

0 commit comments

Comments
 (0)