From fdcdb21c38ef7acf23853d47d1dc5bda69d5398f Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 11 Jan 2019 22:36:45 +0900 Subject: [PATCH] nghttpx: Randomize backend address round robin order per thread --- src/shrpx_worker.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/shrpx_worker.cc b/src/shrpx_worker.cc index e2edd05a..8ce9869c 100644 --- a/src/shrpx_worker.cc +++ b/src/shrpx_worker.cc @@ -304,6 +304,9 @@ void Worker::replace_downstream_config( shared_addr->http1_pri.weight = num_http1; shared_addr->http2_pri.weight = num_http2; + std::shuffle(std::begin(shared_addr->addrs), std::end(shared_addr->addrs), + randgen_); + if (shared_addr->affinity.type != SessionAffinity::NONE) { for (auto &addr : shared_addr->addrs) { addr.dconn_pool = std::make_unique();