Skip to content

H/3 stress - #55098

Merged
ManickaP merged 11 commits into
dotnet:mainfrom
ManickaP:mapichov/h3_stress
Jul 9, 2021
Merged

H/3 stress#55098
ManickaP merged 11 commits into
dotnet:mainfrom
ManickaP:mapichov/h3_stress

Conversation

@ManickaP

@ManickaPManickaP commented Jul 2, 2021

Copy link
Copy Markdown
Member

Spin off #54762

  • updates docker images
  • fixes some build warnings in stress apps
  • add H/3 support for HttpStress
  • renames Quic event source

Fixes#40389

@ghost

ghost commented Jul 2, 2021

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

Spin off #54762

  • updates docker images
  • fixes some build warnings in stress apps
  • add H/3 support for HttpStress
  • renames Quic event source
Author:ManickaP
Assignees:-
Labels:

area-System.Net.Http

Milestone:-

@dotnetdotnet deleted a comment from azure-pipelinesBotJul 6, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotJul 6, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotJul 6, 2021
@ManickaP

ManickaP commented Jul 6, 2021

Copy link
Copy Markdown
MemberAuthor

The stress tests have run. So the pipelines work, docker files are OK, etc.
There's tons of error in H/2 (Windows and Linux) for content sending requests (PUT, POST etc.) looking like this:

System.Exception: Expected status code OK, got InternalServerError
client_1 | at HttpStress.ClientOperations.ValidateStatusCode(HttpResponseMessage m, HttpStatusCode expectedStatus) in /app/ClientOperations.cs:line 487
client_1 | at HttpStress.ClientOperations.<>c.<<get_Operations>b__1_9>d.MoveNext() in /app/ClientOperations.cs:line 407
client_1 | --- End of stack trace from previous location ---
client_1 | at HttpStress.StressClient.<>c__DisplayClass17_0.<<StartCore>g__RunWorker|0>d.MoveNext() in /app/StressClient.cs:line 204

This might be a recent change in kestrel or our client that breaks it since I'm updating here to 6.0 nightly.

@antonfirsov Do you know anything about it?

cc: @CarnaViire

@ManickaP
ManickaP marked this pull request as ready for review July 6, 2021 17:43
@ManickaP

Copy link
Copy Markdown
MemberAuthor

So the error reproduces locally without docker. It happened sometime between 6.0 preview 4 and preview 6. I tested it firstly on preview 4 - no error, downloaded preview 6 and retested and it happens.

@ManickaP

Copy link
Copy Markdown
MemberAuthor

H/2 issue filed: #55261
I guess we can get this in and fix the issue separately.

@@ -1,4 +1,4 @@
ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:5.0-buster-slim
ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:6.0-bullseye-slim

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this? Seems like buster is still latest stable...

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No we don't. I didn't realize it's "testing" and not "stable". I just took the newest without checking. I'll revert it.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need the bullseye after all. Seems like buster doesn't have current 6.0 preview SDK...

<configuration>
<packageSources>
<!-- Add public nuget feed. -->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this default? I don't mind to be explicit but I'm wondering if we need it in case we do not need custom feeds

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not if run from runtime repo, ours explicitly removes nuget.org: https://github.com/dotnet/runtime/blob/main/NuGet.config
So it all works in docker, where it's isolated, but when you ran it locally from S.N.Http/tests/... it failed due to one dependency coming from the public feed.

@wfurtwfurt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

generally looks ok to me.

@dotnetdotnet deleted a comment from azure-pipelinesBotJul 7, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotJul 7, 2021
@ManickaP
ManickaPforce-pushed the mapichov/h3_stress branch from b057c44 to ca9ab3bCompareJuly 7, 2021 19:30
name: buildStress
displayName: Build HttpStress

- bash: |

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll see, but on Linux we should be now able to run stress tests.


# Pulling the msquic Debian package from msquic-ci public pipeline and from a hardcoded build.
# Note that this is a temporary solution until we have properly published Linux packages.
# Also note that in order to update to a newer msquic build, you have update this link.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this link already contain changes needed for #55291? If not, can we update it?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it does contain them.

@ManickaP

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries stress-http

@ManickaP

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries stress-ssl

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@dotnetdotnet deleted a comment from azure-pipelinesBotJul 8, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotJul 8, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotJul 8, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotJul 8, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotJul 8, 2021
@dotnetdotnet deleted a comment from azure-pipelinesBotJul 8, 2021
@ManickaP

Copy link
Copy Markdown
MemberAuthor

Stress tests on Linux are running H/3 🥳

@ManickaP

Copy link
Copy Markdown
MemberAuthor

Seeing 10s thousands of System.Exception: Expected status code OK, got InternalServerError in H/2 (#55261)
I'll handle this particular error before merging and put an ActiveIssue note in the code.

@ManickaP

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries stress-http

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@ManickaP
ManickaPforce-pushed the mapichov/h3_stress branch from d2ef2ad to 84f63a4CompareJuly 8, 2021 18:42
@ManickaP

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries stress-http

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@ManickaP

ManickaP commented Jul 9, 2021

Copy link
Copy Markdown
MemberAuthor

Looks good now: https://dev.azure.com/dnceng/public/_build/results?buildId=1227406&view=results
1 error on H 1.1 Win and several errors on H/3 GET Aborted, after the suppression of #55261

CI errors are unrelated, merging.

@ManickaP
ManickaP merged commit d431d6a into dotnet:mainJul 9, 2021
@ManickaP
ManickaP deleted the mapichov/h3_stress branch July 9, 2021 07:41
@karelzkarelz added this to the 6.0.0 milestone Jul 15, 2021
@ghostghost locked as resolved and limited conversation to collaborators Aug 14, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[HTTP/3] Add HTTP/3 and QUIC stress tests

4 participants

@ManickaP@CarnaViire@wfurt@karelz