Skip to content
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

Vert.X: improve WebSocket performance #3539

Closed
kciesielski opened this issue Feb 28, 2024 · 0 comments · Fixed by #3573
Closed

Vert.X: improve WebSocket performance #3539

kciesielski opened this issue Feb 28, 2024 · 0 comments · Fixed by #3573
Assignees
Milestone

Comments

@kciesielski
Copy link
Member

WebSockets in Vert.X have high latency overhead compared to other backends:

image

One fix that can be applied is similar to #3393
This requires:

  • allowing a fast_path
  • handling standard_path with more efficient stream merging. Use fs2.Channel to perform the merge (more efficient than Stream#mergeHaltL / Stream#parJoin), just as in the mentioned PR.
    This should be applied to the sttp.tapir.server.vertx.cats.streams.fs2.webSocketPipe function.

Verification:

  1. vertxServer3/Test/testOnly *VertxServerTest*
  2. Performance tests for Vert.X + WebSocketSimulation (See https://github.com/softwaremill/tapir/blob/master/perf-tests/README.md#testing-websockets)
@kciesielski kciesielski added this to the Performance milestone Feb 28, 2024
@kciesielski kciesielski linked a pull request Mar 11, 2024 that will close this issue
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 a pull request may close this issue.

2 participants