HAproxy текущий сеанс равен нулю

У меня есть некоторые проблемы на липких сессиях с HAproxy.

Haproxy считает каждый запрос новым сеансом. У меня есть сервлет Java, который создает cookie JSESSIONID.

Если я обновлю эту страницу 5 раз. Сервлет считает это за 1 сессию и 5 запросов от этого sessionid. Но на странице статистики HAproxy показано 5 разных сессий. И 0 текущих сессий. Haproxy префикс файла cookie корректен, cookie: "JSESSIONID=test1~3fjp6734ys78grhk50ler16r" и является постоянным. Я бью один и тот же сервер каждый раз.

Это мой конфигурационный файл:

global
    daemon
    maxconn 256

defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http-in
    bind *:3333
    acl Testrule path -m beg /test
    use_backend Test if Testrule


backend Test
    option httpchk GET /test
    cookie JSESSIONID prefix
    appsession JSESSIONID len 52 timeout 20m prefix
    server test2 vm-stapp-146:9003 check cookie test2
    server test1 vm-stapp-145:9003 check cookie test1


listen stats *:3334
    mode http
    stats enable
    stats uri /proxy-stats
    stats admin if TRUE

Почему на странице статистики каждый запрос отображается как новый сеанс? И это всегда показывает 0 текущих сеансов.

Благодарю.

2 ответа

Число сеансов HAProxy относится к сеансам tcpip, а не к сеансам браузера. Счетчик равен 0, потому что в то время, когда вы запрашивали статистику, ничего не происходило. Это довольно типично для незанятых нагрузок.

Если ваши запросы из одного и того же сеанса попадают на один и тот же внутренний сервер, это звучит так, как будто липкие сеансы работают.

Тот stats столбец, который вы хотите найти, когда постоянство сеанса тестирования lbtot, который увеличивается всякий раз, когда клиент делает запрос без распознанного сеансового куки.

Другие вопросы по тегам