Git Product home page Git Product logo

Comments (7)

nguyenduongnhj avatar nguyenduongnhj commented on September 24, 2024 1

Previously, I used the v40 version and then upgraded to v44 and then discovered this error. I'm not sure if it was due to the v44 version because I didn't monitor it before.
And thank you, I have solved this problem already , it seems like the error was closing the stream without calling cancel write first. I changed the code to call cancel write before closing the stream and the memory problem was solved

from quic-go.

marten-seemann avatar marten-seemann commented on September 24, 2024

Probably fixed by #4523. Can you try out the brand new v0.44 release?

from quic-go.

nguyenduongnhj avatar nguyenduongnhj commented on September 24, 2024

Probably fixed by #4523. Can you try out the brand new v0.44 release?

seems unrelated, I don't use http3,

from quic-go.

marten-seemann avatar marten-seemann commented on September 24, 2024

How many connections are you handling? How many streams are open? What are the stream limits, both on your and on your peer's side?

This could be a totally expected behavior, or indicative of a memory leak. Without more information, we won't know which.

from quic-go.

nguyenduongnhj avatar nguyenduongnhj commented on September 24, 2024

I have tried to measure the following information

  • 20k quic connection
  • 70k stream open
  • MaxIncomingStreams: 100000000

Screenshot 2024-05-21 at 21 43 06

from quic-go.

nguyenduongnhj avatar nguyenduongnhj commented on September 24, 2024

profile (2).pb.gz
Go pprof profile. Can you give me some reasons why newStream is taking up a lot of resources so I can check again if my code is affecting it?

from quic-go.

marten-seemann avatar marten-seemann commented on September 24, 2024

You could try running your app with quic-go v0.42. We made some minor changes to the stream state machine in v0.43 and v0.44, maybe that introduced a bug.

To be honest, I'm not sure if the memory consumption you're seeing is that unusual though. You're handling a lot of streams after all. In your code, make sure to properly close both sides of the stream, and to not keep references to closed streams around, so that the stream can actually be garbage collected.

from quic-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.