mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-31 15:47:10 +00:00
[BUG] dynamic connection throttling could return a max of zero conns
srv_dynamic_maxconn() is clearly documented as returning at least 1
possible connection under throttling. But the computation was wrong,
the minimum 1 was divided and got lost in case of very low maxconns.
Apply the MAX(1, max) before returning the result in order to ensure
that a newly appeared server will get some traffic.
(cherry picked from commit 819970098f
)
This commit is contained in:
parent
43662ff35d
commit
28a9e529f8
@ -52,8 +52,8 @@ unsigned int srv_dynamic_maxconn(const struct server *s)
|
||||
now.tv_sec < s->last_change + s->slowstart &&
|
||||
now.tv_sec >= s->last_change) {
|
||||
unsigned int ratio;
|
||||
ratio = MAX(1, 100 * (now.tv_sec - s->last_change) / s->slowstart);
|
||||
max = max * ratio / 100;
|
||||
ratio = 100 * (now.tv_sec - s->last_change) / s->slowstart;
|
||||
max = MAX(1, max * ratio / 100);
|
||||
}
|
||||
return max;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user