Я использую haproxy 2.4, и когда haproxy настроен в режиме tcp, я получаю высокую загрузку процессора.
Пример:
Запуск стресс-инструмента для создания около 30 тыс. подключений:
./pst -c 100000 -r 100000 -u URL-адрес.txt -p http://192.168.58.13:3128
Использование процессора во всех процессах haproxy достигает почти 100%, а нагрузка составляет 4+.
Запуск того же теста в режиме http.
Загрузка процессора составляет около 10% на каждый процесс, а нагрузка составляет 1,20.
Я также пытаюсь использовать nbthread вместо nbproc, но получаю те же результаты.
Кроме того, эта проблема сохраняется на haproxy 2.5.
Файл конфигурации в режиме HTTP:
№ 1,5
# ЦП 11
Глобальный
    журнал 127.0.0.1 локальный0
    максконн 200000
    нбпрок 11
    карта процессора 1 0
    карта процессора 2 1
    карта процессора 3 2
    карта процессора 4 3
    карта процессора 5 4
    карта процессора 6 5
    карта процессора 7 6
    карта процессора 8 7
    карта процессора 9 8
    карта процессора 10 9
    карта процессора 11 10
    ИД 0
    Гид 0
    chroot/тмп
    pid-файл /var/run/haproxy.pid
    сокет статистики /var/run/haproxy.stat режим 600 уровня администратора
    статистика связывания-процесс 1
    демон
# отладка
#   тихо
значения по умолчанию
    журнал глобальный
    HASTATS в формате журнала:::%{+Q}o:::client_ip=%ci:::client_port=%cp:::datetime_of_request=[%tr]:::frontend_name_transport=%ft:::backend_name=%b :::server_name=%s:::time_to_receive_full_request=%TR:::Tw=%Tw:::Tc=%Tc:::response_time=%Tr:::active_time_of_request=%Ta:::status_code=%ST: ::bytes_read=%B:::captured_request_cookie=%CC:::captured_response_cookie=%CS:::termination_state_with_cookie_status=%tsc:::actconn=%ac:::feconn=%fc:::beconn=%bc:: :srv_conn=%sc:::retries=%rc:::srv_queue=%sq:::backend_queue=%bq:::captured_request_headers_default_style=%hr:::captured_response_headers_default_style=%hs:::server_ip=%si::: server_port=%sp:::frontend_name=%f:::http_method=%HM:::http_request_uri_without_query=%HP:::http_request_query_string=%HQ:::http_request_uri=%HU:::bytes_uploaded=%U:::ssl_ciphers =%sslc:::ssl_version=%sslv:::%[capture.res.hdr(0)]
    режим http
    опция
    повторяет 3
    опция повторной отправки
    максконн 200000
    тайм-аут подключения 5000
    тайм-аут клиента 50000
    тайм-аут сервера 50000
интерфейс ddsds
    привязать :3128 имя ddsds
    заголовок запроса захвата Host len 1024
    захват заголовка запроса Content-Type len 1024
    захват заголовка запроса User-Agent len 1024
    захват заголовка запроса Referer len 1024
    захват заголовка запроса X-Forwarded-For len 1024
    захват заголовка ответа Content-Type len 1024
    захватить cookie Cookie_2 len 100
    http-запрос set-header mode mode:tcp
    захват http-запроса hdr(режим) len 10
    режим http
    опция httplog
# http-поддержка активности: * 1 *
    опция http-keep-alive
    тайм-аут http-keep-alive 15000
    опция предпочитаемый-последний-сервер
    опция повторной отправки
    без вариантов
    вариант http-туннеля
    тайм-аут клиента 15000
    таймаут http-запроса 50000
    очередь ожидания 50000
    default_backend default_ddsds
серверная часть default_ddsds
    режим http
    баланс
# http-поддержка активности: * 1 *
    опция http-keep-alive
    тайм-аут http-keep-alive 15000
    опция предпочитаемый-последний-сервер
    опция повторной отправки
    без вариантов
    вариант http-туннеля
    тайм-аут подключения 4000
    тайм-аут сервера 50000
    таймаут http-запроса 50000
    очередь ожидания 50000
    повторяет 3
    сервер normal_port 192.168.58.12:50877 вес 1 maxconn 10000 проверка меж 60000 подъем 2 падение 3 источник 192.168.58.13
# ddsds нет результата
страница администратора_интерфейса
    привязать 127.0.0.1:64741
    режим http
    включить статистику
    статистика обновляется 10 секунд
    статистика uri /stats
Файл конфигурации в режиме TCP:
№ 1,5
# ЦП 11
Глобальный
    журнал 127.0.0.1 локальный0
    максконн 200000
    нбпрок 11
    карта процессора 1 0
    карта процессора 2 1
    карта процессора 3 2
    карта процессора 4 3
    карта процессора 5 4
    карта процессора 6 5
    карта процессора 7 6
    карта процессора 8 7
    карта процессора 9 8
    карта процессора 10 9
    карта процессора 11 10
    ИД 0
    Гид 0
    chroot/тмп
    pid-файл /var/run/haproxy.pid
    сокет статистики /var/run/haproxy.stat режим 600 уровня администратора
    статистика связывания-процесс 1
    демон
# отладка
#   тихо
значения по умолчанию
    журнал глобальный
    HASTATS в формате журнала:::%{+Q}o:::client_ip=%ci:::client_port=%cp:::datetime_of_request=[%tr]:::frontend_name_transport=%ft:::backend_name=%b :::server_name=%s:::time_to_receive_full_request=%TR:::Tw=%Tw:::Tc=%Tc:::response_time=%Tr:::active_time_of_request=%Ta:::status_code=%ST: ::bytes_read=%B:::captured_request_cookie=%CC:::captured_response_cookie=%CS:::termination_state_with_cookie_status=%tsc:::actconn=%ac:::feconn=%fc:::beconn=%bc:: :srv_conn=%sc:::retries=%rc:::srv_queue=%sq:::backend_queue=%bq:::captured_request_headers_default_style=%hr:::captured_response_headers_default_style=%hs:::server_ip=%si::: server_port=%sp:::frontend_name=%f:::http_method=%HM:::http_request_uri_without_query=%HP:::http_request_query_string=%HQ:::http_request_uri=%HU:::bytes_uploaded=%U:::ssl_ciphers =%sslc:::ssl_version=%sslv:::%[capture.res.hdr(0)]
    режим http
    опция
    повторяет 3
    опция повторной отправки
    максконн 200000
    тайм-аут подключения 5000
    тайм-аут клиента 50000
    тайм-аут сервера 50000
интерфейс ddsds
    привязать :3128 имя ddsds
    заголовок запроса захвата Host len 1024
    захват заголовка запроса Content-Type len 1024
    захват заголовка запроса User-Agent len 1024
    захват заголовка запроса Referer len 1024
    захват заголовка запроса X-Forwarded-For len 1024
    захват заголовка ответа Content-Type len 1024
    захватить cookie Cookie_2 len 100
    http-запрос set-header mode mode:tcp
    захват http-запроса hdr(режим) len 10
    режим TCP
    опция httplog
    опция
    вариант http-туннеля
    тайм-аут клиента 15000
    таймаут http-запроса 50000
    очередь ожидания 50000
    default_backend default_ddsds
серверная часть default_ddsds
    режим TCP
    баланс
    вариант http-туннеля
    тайм-аут подключения 4000
    тайм-аут сервера 50000
    таймаут http-запроса 50000
    очередь ожидания 50000
    повторяет 3
    сервер normal_port 192.168.58.12:50877 вес 1 maxconn 10000 проверка меж 60000 подъем 2 падение 3 источник 192.168.58.13
# ddsds нет результата
страница администратора_интерфейса
    привязать 127.0.0.1:64741
    режим http
    включить статистику
    статистика обновляется 10 секунд
    статистика uri /stats
Любой может помочь мне решить эту проблему.
Заранее спасибо.