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

Max idle timeout is perhaps too short #1412

Open
msoxzw opened this issue Jan 30, 2023 · 2 comments
Open

Max idle timeout is perhaps too short #1412

msoxzw opened this issue Jan 30, 2023 · 2 comments

Comments

@msoxzw
Copy link

msoxzw commented Jan 30, 2023

The maximum idle timeout in neqo used by Firefox is 30 seonds, eclipsed by 600 seconds in quiche used by Chrome.

Considering remote servers, https://www.cloudflare.com/ is 180 seconds, and https://www.google.com/ is 240 seconds.

I reckon that neqo probably has not implemented the QUIC handshake timeout, and as a result 30 seconds idle timeout is picked and chosen.

@martinthomson
Copy link
Member

Yes, our timeouts are a little shorter than you will see elsewhere. We have a single timeout for the connection, regardless of its state; handshakes need to fit inside that time. Idle timeouts also drive our keep-alive behaviour in cases where we want to keep a connection open (we do this if the HTTP client has an outstanding request).

The value is configurable, we just haven't seen much reason to reassess the 30s value. @msoxzw do you have a reason that this should be longer?

@msoxzw
Copy link
Author

msoxzw commented Jan 31, 2023

Longer idle timeout tends to avoid unnecessary expensive handshakes. If QUIC handshake timeout is used like Google quiche, ngtcp2, etc. , an outstanding request could be closed in a much shorter time, e.g. 10 seconds.

@larseggert larseggert linked a pull request Nov 15, 2024 that will close this issue
@larseggert larseggert removed a link to a pull request Nov 15, 2024
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

No branches or pull requests

2 participants