Skip to content

feat: measure host-header-mismatch for HTTP endpoint (no TLS) #2093

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
May 27, 2025

Conversation

DeagleGross
Copy link
Contributor

@DeagleGross DeagleGross commented May 27, 2025

since I see an enormous difference between Kestrel and Http.sys RPS perf on host-header mismatch (300k vs 5k), I collected network traces and I can see Kestrel does not close the connection compared to HTTP.SYS - therefore having a better perf.

I decided to measure what perf will be on http only (no TLS) and current PR covers this part.

kestrel:

Stat Value
App Max Process CPU Usage (%) 96
App Max Global CPU Usage (%) 97
Load Max Process CPU Usage (%) 31
Load Max Global CPU Usage (%) 42
Requests/sec 400,344
Requests 6,044,937
Bad responses 6,044,937
Socket errors 0

http.sys (connections 32)

Stat Value
App Max Process CPU Usage (%) 0
App Max Global CPU Usage (%) 35
Load Max Process CPU Usage (%) 40
Load Max Global CPU Usage (%) 51
Requests/sec 126,891
Requests 1,915,963
Bad responses 1,915,963
Socket errors 0

http.sys (connections 256)

Stat Value
App Max Process CPU Usage (%) 0
App Max Global CPU Usage (%) 58
Load Max Process CPU Usage (%) 58
Load Max Global CPU Usage (%) 72
Requests/sec 177,557
Requests 2,681,080
Bad responses 2,681,080
Socket errors 0

@DeagleGross DeagleGross self-assigned this May 27, 2025
@DeagleGross DeagleGross merged commit 6cb799e into main May 27, 2025
2 checks passed
@DeagleGross DeagleGross deleted the dmkorolev/hostheadermismatch-http branch May 27, 2025 11:38
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