Estoy intentando HAProxy para el equilibrio de carga TCP. Las conexiones entran en el puerto X en una sola IP, y HAProxy luego equilibra estas conexiones con un back-end usando el método de equilibrio "mínimo" para mantener el número de conexiones parejo. Esto está en Ubuntu 10.04 x64.El recuento de sesiones de HAProxy TCP se detiene en 400
He encontrado File-Max en la configuración del núcleo a 700,000. Elegí el ulimit por proceso a alrededor de 400,000. He convertido maxconn en la configuración de haproxy en 200,000. Informa haber visto esta multa de maxconn:
show info
Name: HAProxy
Version: 1.3.22
Release_date: 2009/10/14
Nbproc: 1
Process_num: 1
Pid: 1355
Uptime: 0d 4h38m46s
Uptime_sec: 16726
Memmax_MB: 0
Ulimit-n: 400013
Maxsock: 400013
Maxconn: 200000
Maxpipes: 0
CurrConns: 1113
PipesUsed: 0
PipesFree: 0
Tasks: 1113
Run_queue: 1
node: XXXXX
Este front-end carga-equilibra en 5 sistemas back-end. Sin embargo, cuando llega a 400 sesiones por back-end, simplemente deja de equilibrar, y simplemente pospone las conexiones adicionales. Puedo ver esto con la estadística "smax". Usted notará que el número máximo de sesiones de cada uno es de 400, y el número máximo total de sesiones es de 2000:
show stat
#
pxname,svname,qcur,qmax,scur,smax,slim,stot,bin,bout,dreq,dresp,ereq,econ,eresp,wretr,wredis,status,weight,act,bck,chkfail,chkdown,lastchg,downtime,qlimit,pid,iid,sid,throttle,lbtot,tracked,type,rate,rate_lim,rate_max,
protoa,FRONTEND,,,958,2000,2000,12624,6230219,6445523,0,0,0,,,,,OPEN,,,,,,,,,1,1,0,,,,0,0,0,406,
protoa,XXX1672,0,0,191,400,,3222,1249403,1286659,,0,,221,0,664,0,no check,1,1,0,,,,,,1,1,1,,2559,,2,0,,198,
protoa,XXX1674,0,0,192,400,,3106,1242103,1289247,,0,,178,0,535,0,no check,1,1,0,,,,,,1,1,2,,2572,,2,0,,171,
protoa,XXX1707,0,0,193,400,,3043,1266305,1305311,,0,,164,0,492,0,no check,1,1,0,,,,,,1,1,3,,2551,,2,0,,161,
protoa,XXX1782,0,0,189,400,,3046,1236790,1282690,,0,,204,0,619,0,no check,1,1,0,,,,,,1,1,4,,2429,,2,0,,190,
protoa,XXX1851,0,0,193,400,,3060,1235618,1281616,,0,,189,0,570,0,no check,1,1,0,,,,,,1,1,5,,2490,,2,0,,180,
protoa,BACKEND,0,0,958,2000,2000,12624,6230219,6445523,0,0,,956,0,2880,0,UP,5,5,0,,0,17645,0,,1,1,0,,12601,,1,0,,406,
protob,FRONTEND,,,4,6,2000,28,15204,15726,0,0,0,,,,,OPEN,,,,,,,,,1,2,0,,,,0,0,0,2,
protob,XXX1672,0,0,2,2,,5,2313,2322,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,1,,5,,2,0,,1,
protob,XXX1674,0,0,0,2,,5,3520,3803,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,2,,5,,2,0,,1,
protob,XXX1707,0,0,0,2,,8,3303,3214,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,3,,8,,2,0,,1,
protob,XXX1782,0,0,1,2,,5,3529,3745,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,4,,5,,2,0,,1,
protob,XXX1851,0,0,1,1,,5,2539,2642,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,5,,5,,2,0,,1,
protob,BACKEND,0,0,4,6,2000,28,15204,15726,0,0,,0,0,0,0,UP,5,5,0,,0,17645,0,,1,2,0,,28,,1,0,,2,
Dónde está esta limitación viene? Realmente quiero obstaculizar cientos de miles de conexiones en esta instancia de haproxy. (La máquina tiene red, CPU y RAM para mantenerse al día)
Creo que tu respuesta es un poco confusa. Usted está diciendo "no puede configurar las conexiones máximas # predeterminadas por proxy que no sea desde la línea de comandos" y también que "agregar un 'maxconn 200000' a cada una de las secciones 'escuchar' en .cfg resuelve el problema", lo que parece contradictorio . –
"Proxy" y "escuchar" son diferentes. Hay dos máximos diferentes. Esa fue toda la fuente de la confusión. –