
Я хотел бы понять распределение нагрузки в haproxy-весовом методе. Например
server serverA site1.example.com weight 45 check
server serverB site2.example.com weight 45 check
server serverc site3.example.com weight 10 check
Я понимаю, что приведенный выше пример разделяет 45-45-10 из 100 запросов. Мой вопрос в том, что разделение будет работать только в том случае, если трафик имеет 100 или более одновременных запросов, или если сервер получает 10 запросов, первые 4 запроса на serverA и следующие 4 запроса на serverB и, наконец, 2 запроса на serverC.
Я искал ответ на этот вопрос в Google, но ничего не нашел.
Пожалуйста, порекомендуйте.
решение1
Алгоритм будет разделяться или рассчитываться на основе каждого нового соединения, однако serverA всегда будет получать первое соединение... Он также зависит от одного из следующих двух вариантов: balance leastconn balance roundrobin И он также предполагает, что вы не используете никаких методов persistence/sticky. Лучший способ понять это — протестировать его самостоятельно (хотя это может быть сложно протестировать с кратковременными соединениями, такими как HTTP.)