From 6a29c5ffd40f1919cac40030c53160c19812bc8d Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Fri, 28 Apr 2023 16:45:21 +0100 Subject: [performance] improved request batching (removes need for queueing) (#1687) * revamp http client to not limit requests, instead use sender worker Signed-off-by: kim * remove separate sender worker pool, spawn 2*GOMAXPROCS batch senders each time, no need for transport cache sweeping Signed-off-by: kim * improve batch senders to keep popping recipients until remote URL found Signed-off-by: kim * fix recipient looping issue Signed-off-by: kim * fix missing mutex unlock Signed-off-by: kim * move request id ctx key to gtscontext, finish filling out more code comments, add basic support for not logging client IP Signed-off-by: kim * slight code reformatting Signed-off-by: kim * a whitespace Signed-off-by: kim * remove unused code Signed-off-by: kim * add missing license headers Signed-off-by: kim * fix request backoff calculation Signed-off-by: kim --------- Signed-off-by: kim --- internal/workers/workers.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'internal/workers/workers.go') diff --git a/internal/workers/workers.go b/internal/workers/workers.go index bf64a28ee..aa8e40e1c 100644 --- a/internal/workers/workers.go +++ b/internal/workers/workers.go @@ -31,8 +31,12 @@ type Workers struct { // Main task scheduler instance. Scheduler sched.Scheduler - // ClientAPI / federator worker pools. + // ClientAPI provides a worker pool that handles both + // incoming client actions, and our own side-effects. ClientAPI runners.WorkerPool + + // Federator provides a worker pool that handles both + // incoming federated actions, and our own side-effects. Federator runners.WorkerPool // Enqueue functions for clientAPI / federator worker pools, -- cgit v1.2.3