Comments (7)
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.
Probably fixed by #4523. Can you try out the brand new v0.44 release?
from quic-go.
Probably fixed by #4523. Can you try out the brand new v0.44 release?
seems unrelated, I don't use http3,
from quic-go.
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.
I have tried to measure the following information
- 20k quic connection
- 70k stream open
- MaxIncomingStreams: 100000000
from quic-go.
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.
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)
- Path MTU Discovery is highly affected by packet loss HOT 5
- The method `ListenAndServe` in package `http3` is not compatible with `http` HOT 4
- improve WASM support
- http3: response body not implemented http3.HTTPStreamer HOT 9
- Datagram no recent network activity error HOT 3
- bug: unable to connect to quiche servers HOT 5
- In some cases I have turned off Stream on the server side, but OpenStreamSync on the client side is still blocked HOT 6
- pass a context to ConnContext context, cancel it when the connection is closed
- Slow transfer speed HOT 10
- Wrong ACK numbers? HOT 1
- gquic branch usage HOT 1
- Go 1.21
- server incorrectly allows 0-RTT with reduced limits when using tls.Config.GetConfigForClient
- introduce a minimum step size of Path MTU Discovery
- Allow applications to specify MaxPacketBufferSize HOT 8
- add more metrics
- Significant Packet Delay with quic-go on iOS Due to Goroutine Handling HOT 3
- http3: RoundTripper is caching dialErr since v0.43.0 HOT 1
- Cancel retransmission of data when sending with quic Client HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quic-go.