]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Jitter backpressure
authorVsevolod Stakhov <vsevolod@rspamd.com>
Tue, 23 Apr 2024 14:40:43 +0000 (15:40 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Tue, 23 Apr 2024 14:40:43 +0000 (15:40 +0100)
src/plugins/fuzzy_check.c

index 00c45a4425799aab4ccf4150fc1e7195f9d6929e..7691e5c7103b790849fdaca9301a8ca358997b0b 100644 (file)
@@ -2681,6 +2681,7 @@ fuzzy_check_timer_callback(int fd, short what, void *arg)
                        double backpressure_time = MAX(session->rule->io_timeout * 0.1, 0.1) * session->retransmits;
                        /* Do not make delay more than 500ms for performance considerations */
                        backpressure_time = MIN(backpressure_time, 0.5);
+                       backpressure_time = rspamd_time_jitter(backpressure_time * 0.5, 0.0);
                        /* Inverse to distinguish */
                        msg_debug_fuzzy_check("backpressure for %.2f milliseconds (server=%s), retransmits: %d;",
                                                                  backpressure_time * 1000,
@@ -2868,6 +2869,7 @@ fuzzy_controller_timer_callback(int fd, short what, void *arg)
                        double backpressure_time = MAX(session->rule->io_timeout * 0.1, 0.1) * session->retransmits;
                        /* Do not make delay more than 500ms for performance considerations */
                        backpressure_time = MIN(backpressure_time, 0.5);
+                       backpressure_time = rspamd_time_jitter(backpressure_time * 0.5, 0.0);
                        /* Inverse to distinguish */
                        msg_debug_fuzzy_check("backpressure for %.2f milliseconds (server=%s), retransmits: %d;",
                                                                  backpressure_time * 1000,