Gatling с балансировкой нагрузки IP-хэш Nginx - PullRequest
0 голосов
/ 29 мая 2018

Я нагрузочно тестирую веб-приложение Tomcat с 4 узлами.Эти узлы настраиваются через Nginx с ip_hash:

ip_hash;
server example:8888 weight=2 max_fails=3 fail_timeout=10s;
server example:8888 weight=4 max_fails=3 fail_timeout=10s;
server example:8888 weight=2 max_fails=3 fail_timeout=10s;
server example:8888 weight=2 max_fails=3 fail_timeout=10s;

В любом случае, я использую Gatling для тестирования нагрузки и производительности, но каждый раз, когда я запускаю тестирование, весь трафик направляется на один узел. Только когда я меняю нагрузкубалансировать узел по мере наименьшего_коннорвала циклического перебора, тогда трафик делится.Но для этого приложения необходим постоянный узел.

Есть ли способ позволить Гатлингу направить трафик ко всем 4 узлам во время выполнения?Может быть, с настройкой конфигурации?Я сейчас использую этот набор:

setUp(scenario1.inject(
  atOnceUsers(50),
  rampUsers(300) over (1800 seconds),
  ).protocols(httpConf)
)

Спасибо!

1 Ответ

0 голосов
/ 30 мая 2018

ip_hash;

Указывает, что группе следует использовать метод балансировки нагрузки, при котором запросы распределяются между серверами на основе IP-адресов клиентов.

Вы должны использовать sticky:

Включает сходство сеансов, при котором запросы от одного и того же клиента передаются на один и тот же сервер в группе серверов.

Редактировать:

Точно, яне видел, что это только для nginx plus: (

Я нашел этот пост (возможно, это поможет ...):

https://serverfault.com/questions/832790/sticky-sessions-with-nginx-proxy

Ссылка на: https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng

Существует также версия модуля для более старых версий nginx:

http://dgtool.treitos.com/2013/02/nginx-as-sticky-balancer-for-ha-using.html

Ссылка на: https://code.google.com/archive/p/nginx-sticky-module/

...