Skip to content

Add CPU core affinity support for ASP.NET workloads#1

Open
RakeshwarRK wants to merge 1 commit intomainfrom
feature/aspnet-core-affinity
Open

Add CPU core affinity support for ASP.NET workloads#1
RakeshwarRK wants to merge 1 commit intomainfrom
feature/aspnet-core-affinity

Conversation

@RakeshwarRK
Copy link
Copy Markdown
Owner

Summary

  • Refactor monolithic AspNetBenchExecutor into standalone executors: AspNetServerExecutor, AspNetOrchardServerExecutor, BombardierExecutor, WrkExecutor
  • Add WorkloadAffinitySupport shared helper for CPU core affinity binding (numactl on Linux, processor bitmask on Windows)
  • Add BindToCores/CoreAffinity parameters to all 4 executors
  • Add PERF-ASPNETBENCH-AFFINITY.json profile (server cores 0-7, client cores 8-15)
  • Add Nginx/Wrk executor support with new profiles
  • Update documentation with CPU Core Affinity section

Test plan

  • Build: dotnet build src/VirtualClient/VirtualClient.Actions
  • Unit tests: dotnet test src/VirtualClient/VirtualClient.Actions.UnitTests
  • Functional tests: verify profile loading for all new JSON profiles
  • Linux: verify numactl wrapping with BindToCores=true
  • Windows: verify processor affinity bitmask application
  • Single-VM: run PERF-ASPNETBENCH-AFFINITY.json with default core assignments
  • Verify no regression: run PERF-ASPNETBENCH.json without affinity parameters

🤖 Generated with Claude Code

- Refactor monolithic AspNetBenchExecutor into standalone executors:
  AspNetServerExecutor, AspNetOrchardServerExecutor, BombardierExecutor, WrkExecutor
- Add WorkloadAffinitySupport shared helper for process affinity binding
  (numactl on Linux, processor bitmask on Windows)
- Add BindToCores/CoreAffinity parameters to all 4 executors
- Add PERF-ASPNETBENCH-AFFINITY.json profile (server 0-7, client 8-15)
- Add Nginx/Wrk executor support with new profiles
- Update documentation with CPU Core Affinity section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant