Would you be interested in a patch to support FreeBSD accept filters? I've been 
testing on my system with the dataready filter which is conceptually similar to 
Linux's deferred accept, and it reduces processing for the connections that are 
able to complete a TCP handshake but never actually send any data.  My system 
is running a tcp proxy where the main limit on capacity seems to be in 
ephemeral port selection to the limited number of backends, and we have a 
rather high number of connections that never exchange data; reducing the number 
of sessions for haproxy and the backend systems will allow me to significantly 
reduce the number of haproxy servers.

I could write the patch to use the defer-accept keyword or make a separate 
keyword to allow for any of the FreeBSD accept filters. Since there doesn't 
seem to be a lot of interest in this feature, I was leaning towards using 
defer-accept; but there's a key difference in functionality -- FreeBSD does not 
provide a timeout like Linux does, and potentially the httpready filter would 
be useful for others. This topic last discussed on the mailing list in 2010, 
https://www.mail-archive.com/haproxy@formilux.org/msg01994.html and I didn't 
see any off-list discussion or patches, but it's pretty straightforward to add.

Thanks,

Richard



Reply via email to