[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#6234) CONFIGURABLE TCP BUFFERS IN SLAPD FEATURE REQUEST



Hi,=0A=0AProbably "heavy LDAP" load was a very generic simplified definitio=
n.=0AThe traffic model we are testing contains search and modify operations=
. The=0Asearch response contains usually a single entry about 3KB in LDIF f=
ormat. There=0Ais only a reduce number of LDAP clients (usually one or two)=
, that are using=0Aasync LDAP API and sending a lot of operations per secon=
d (> 1000 TPS per=0Aclient).=0A=0AUnder these conditions we have tested tha=
t increasing the sending buffer of the=0Aserver has improved the performanc=
e. That's the reason I am proposing this=0Afeature request.=0A=0ARegards,=
=0A=0AEvaristo=0A=0A----- Mensaje original ----=0ADe: Howard Chu <hyc@symas=
.com>=0APara: evaristojosec@yahoo.es=0ACC: openldap-its@openldap.org=0AEnvi=
ado: martes, 4 de agosto, 2009 0:43:36=0AAsunto: Re: (ITS#6234) CONFIGURABL=
E TCP BUFFERS IN SLAPD FEATURE REQUEST=0A=0Aevaristojosec@yahoo.es wrote:=
=0A> Full_Name: Evaristo Camarero=0A> Version: 2.4.x=0A> OS: Linux=0A> URL:=
 ftp://ftp.openldap.org/incoming/=0A> Submission from: (NULL) (194.237.142.=
20)=0A> =0A> =0A> =0A> Hi,=0A> =0A> Working with slapd under heavy load it =
could be interesting to have TCP buffers=0A> size configurable at slapd app=
lication level instead of getting default OS=0A> values.=0A=0AI don't see t=
his having any positive impact on slapd performance. "Heavy LDAP load" gene=
rally implies lots of small queries with sets of small result objects; very=
 rarely do queries return large objects. When a system is under such heavy =
load, requesting larger buffers per socket will make the system load worse,=
 as the kernel will have more memory consumed in these socket buffers and l=
ess available for other demands.=0A=0AWhat workload have you tested this wi=
th, and what performance impact did you measure as a result?=0A=0A> Some fa=
st modifications in daemon.c file to achieve a hardcoded value for the=0A> =
sender buffer are:=0A> =0A>         int buf_size =3D 1572864; /* 1.5 Mb */=
=0A>         rc =3Dsetsockopt ( s, SOL_SOCKET, SO_SNDBUF, (int*)&buf_size,=
=0A> sizeof(buf_size));=0A>         if(rc=3D=3D-1) {=0A>             Debug(=
 LDAP_DEBUG_ANY, "slapd(%ld): "=0A>                 "setsockopt(SO_SNDBUF) =
failed errno=3D%d (%s)\n",=0A>                 (long) l.sl_sd, err, sock_er=
rstr(err) );=0A>         } else {=0A>             Debug( LDAP_DEBUG_ANY, "s=
lapd(%ld): setsockopt(SO_SNDBUF) to %d\n",=0A>                 (long) l.sl_=
sd, buf_size, 0);=0A>         }=0A=0A--   -- Howard Chu=0A  CTO, Symas Corp=
.          http://www.symas.com=0A  Director, Highland Sun    http://highla=
ndsun.com/hyc/=0A  Chief Architect, OpenLDAP  http://www.openldap.org/proje=
ct/=0A=0A=0A=0A