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

Limit maximum response time #761

Open
krizhanovsky opened this issue Jul 3, 2017 · 1 comment
Open

Limit maximum response time #761

krizhanovsky opened this issue Jul 3, 2017 · 1 comment
Milestone

Comments

@krizhanovsky
Copy link
Contributor

krizhanovsky commented Jul 3, 2017

Relates to #712.

Limit maximum response time

Currently Tempesta can wait infinitly for a backend response skewing APM statistics. There must be a configuration option for maximum time in seconds to wait for a backend response. If Tempesta does not receive any data from the external application within this timeout limit, it will mark this connection as bad. Nginx does this with proxy_read_timeout.

LB: exponencial retry timeout backoff

This issue requires a timer, which also can be used to postpone a request retry on failed backend connection (#1136). Currently we retry requests immediately, but it can lead to overloading of already overloaded servers. So we should retry, within the defined timeout, in exponential backoff manner.

Testing

Please also create a functional test or make an issue in https://github.com/tempesta-tech/tempesta-test/

@krizhanovsky krizhanovsky added this to the 1.0 WebOS milestone Jul 3, 2017
@krizhanovsky krizhanovsky modified the milestones: backlog, 0.8 TDB v0.2 Jan 9, 2018
@krizhanovsky krizhanovsky modified the milestones: 1.2 TDB v0.2, 1.1 QUIC Aug 8, 2018
@krizhanovsky krizhanovsky modified the milestones: 1.1 QUIC, 0.9 TDBv0.2 Feb 2, 2019
@krizhanovsky krizhanovsky added the good to start Start form this tasks if you're new in Tempesta FW label Aug 21, 2021
@krizhanovsky krizhanovsky modified the milestones: 1.xx TBD, backlog Apr 19, 2023
@krizhanovsky krizhanovsky modified the milestones: backlog, 1.1: TBD Jan 18, 2024
@krizhanovsky
Copy link
Contributor Author

krizhanovsky commented Jan 18, 2024

There are at least 2 cases for the upstream timeouts:

  1. we can't send a response, probably can be handled with sysctl on TCP keepalive
  2. TCP is fine, but the upstream is stuck on response processing - this seems should be fixed separately

Maybe not for good to start

@krizhanovsky krizhanovsky removed the good to start Start form this tasks if you're new in Tempesta FW label Jan 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant