mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-10-27 14:41:28 +01:00
When threads are enabled and running on a machine with multiple CCX or multiple nodes, thread groups are now enabled since 3.3-dev2, causing load-balancing algorithms to randomly fail due to incoming connections spreading over multiple groups and using different load balancing indexes. Let's just force "thread-groups 1" into all configs when threads are enabled to avoid this.
120 lines
1.9 KiB
Plaintext
120 lines
1.9 KiB
Plaintext
varnishtest "Automatic maxconn computation"
|
|
feature cmd "$HAPROXY_PROGRAM -cc 'version_atleast(2.5-dev0)'"
|
|
feature cmd "$HAPROXY_PROGRAM -cc '!feature(OBSOLETE_LINKER)'"
|
|
feature cmd "$HAPROXY_PROGRAM -cc 'feature(OPENSSL)'"
|
|
feature ignore_unknown_macro
|
|
#REGTEST_TYPE=broken
|
|
|
|
|
|
# Check the maxconn computation with the -m parameter
|
|
# Broken because it can't work with ASAN.
|
|
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
server s1 {
|
|
rxreq
|
|
txresp
|
|
} -start
|
|
|
|
|
|
haproxy h1 -arg "-m 1024" -conf {
|
|
} -start
|
|
|
|
haproxy h1 -cli {
|
|
send "show info"
|
|
expect ~ ".*Maxconn: (29000|28000)\n.*"
|
|
}
|
|
|
|
haproxy h2 -arg "-m 384" -conf {
|
|
} -start
|
|
|
|
haproxy h2 -cli {
|
|
send "show info"
|
|
expect ~ ".*Maxconn: (11000|10000)\n.*"
|
|
}
|
|
|
|
haproxy h3 -arg "-m 256" -conf {
|
|
} -start
|
|
|
|
haproxy h3 -cli {
|
|
send "show info"
|
|
expect ~ ".*Maxconn: (7300|7000)\n.*"
|
|
}
|
|
|
|
# 1 SSL front but no back
|
|
|
|
haproxy h4 -arg "-m 256" -conf {
|
|
global
|
|
.if feature(THREAD)
|
|
thread-groups 1
|
|
.endif
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect 1s
|
|
timeout client 1s
|
|
timeout server 1s
|
|
|
|
frontend fe1
|
|
bind "fd@${fe1}" ssl crt ${testdir}/common.pem
|
|
|
|
} -start
|
|
|
|
haproxy h4 -cli {
|
|
send "show info"
|
|
expect ~ ".*Maxconn: 1900\n.*"
|
|
}
|
|
|
|
# 1 SSL back but not front
|
|
|
|
haproxy h5 -arg "-m 256" -conf {
|
|
global
|
|
.if feature(THREAD)
|
|
thread-groups 1
|
|
.endif
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect 1s
|
|
timeout client 1s
|
|
timeout server 1s
|
|
|
|
listen li2
|
|
bind "fd@${li2}"
|
|
server ssl "${s1_addr}:${s1_port}" ssl verify none
|
|
|
|
} -start
|
|
|
|
haproxy h5 -cli {
|
|
send "show info"
|
|
expect ~ ".*Maxconn: 1900\n.*"
|
|
}
|
|
|
|
|
|
# 1 SSL front and 1 back
|
|
|
|
haproxy h6 -arg "-m 256" -conf {
|
|
global
|
|
.if feature(THREAD)
|
|
thread-groups 1
|
|
.endif
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect 1s
|
|
timeout client 1s
|
|
timeout server 1s
|
|
|
|
listen li3
|
|
bind "fd@${li3}" ssl crt ${testdir}/common.pem
|
|
server ssl "${s1_addr}:${s1_port}" ssl verify none
|
|
|
|
} -start
|
|
|
|
haproxy h6 -cli {
|
|
send "show info"
|
|
expect ~ ".*Maxconn: 1700\n.*"
|
|
}
|
|
|