Hi Dmitry,

On Tue, Sep 08, 2015 at 05:25:33PM +0300, Dmitry Sivachenko wrote:
> 
> > On 30 ??????. 2015 ??., at 22:29, Willy Tarreau <w...@1wt.eu> wrote:
> > 
> > On Fri, Aug 28, 2015 at 11:40:18AM +0200, Lukas Tribus wrote:
> >>>> Ok, you may be hitting a bug. Can you provide haproxy -vv output?
> >>>> 
> >>> 
> >>> 
> >>> What do you mean? I get the following warning when trying to use this
> >>> option in tcp backend/frontend:
> >> 
> >> Yes I know (I didn't realize you are using tcp mode). I don't mean the
> >> warning is the bug, I mean the tcp mode is supposed to not cause any
> >> delays by default, if I'm not mistaken.
> > 
> > You're not mistaken, tcp_nodelay is unconditional in TCP mode and MSG_MORE
> > is not used there since we never know if more data follows. In fact there's
> > only one case where it can happen, it's when data wrap at the end of the
> > buffer and we want to send them together.
> > 
> 
> 
> Hello,
> 
> yes, you are right, the problem is not TCP_NODELAY.  I performed some testing:
> 
> Under low network load, passing TCP connection through haproxy involves 
> almost zero overhead.
> When load grows, at some point haproxy starts to slow things down.
> 
> In our testing scenario the application establishes long-lived TCP connection 
> to server and sends many small requests.
> Typical traffic at which adding haproxy in the middle causes measurable 
> slowdown is ~30MB/sec, ~100kpps.

This is not huge, it's smaller than what can be achieved in pure HTTP mode,
where I could achieve about 180k req/s end-to-end, which means at least 180kpps
in both directions on both sides, so 360kpps in each direction.

> haproxy process CPU usage is about 15-20%.

And the rest is for the system ?

Willy


Reply via email to