tcp: Increase user timeout to 10 minutes (#17087)

This commit is contained in:
Anis Eleuch 2023-04-27 01:48:31 +01:00 committed by GitHub
parent 6105997299
commit 31b5acc245
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -67,8 +67,9 @@ func setTCPParameters(network, address string, c syscall.RawConn) error {
// Set tcp user timeout in addition to the keep-alive - tcp-keepalive is not enough to close a socket // Set tcp user timeout in addition to the keep-alive - tcp-keepalive is not enough to close a socket
// with dead end because tcp-keepalive is not fired when there is data in the socket buffer. // with dead end because tcp-keepalive is not fired when there is data in the socket buffer.
// https://blog.cloudflare.com/when-tcp-sockets-refuse-to-die/ // https://blog.cloudflare.com/when-tcp-sockets-refuse-to-die/
// This is a sensitive configuration, it is better to set it to high values, > 60 secs // This is a sensitive configuration, it is better to set it to high values, > 60 secs since it can
_ = syscall.SetsockoptInt(fd, syscall.IPPROTO_TCP, unix.TCP_USER_TIMEOUT, (15+5*15)*1000) // affect clients reading data with a very slow pace (disappropriate with socket buffer sizes)
_ = syscall.SetsockoptInt(fd, syscall.IPPROTO_TCP, unix.TCP_USER_TIMEOUT, 10*60*1000)
}) })
return nil return nil
} }