Re: TCP Splicing with HAProxy 1.4.8

From: David Birdsong <david.birdsong#gmail.com>
Date: Thu, 7 Oct 2010 13:19:49 -0700


On Thu, Oct 7, 2010 at 1:01 PM, Maurice Kelly <list-haproxy#chatswood.org.uk> wrote:
> Hi,
>
> I've been trying out HAProxy 1.4.8 on RHEL 6 beta (running kernel 2.6.32-44.1.el6.x86_64).
>
> I created a very simple configuration with which I'd been testing with and without the "option splice-response" directive, but had seen no real performance improvement.
>
> The cynic in me thought it might not be working, so I used strace to examine some requests/responses. Small transfers didn't seem to result in any splice() calls, but I did see a suitable number for a much larger transfer. (Though I did see a lot of splice() calls generating EAGAIN, which suggested that there was something not quite right).

If I understand the splice call, the intention is to avoid memory copies to user space. With that in mind, the presence of EAGAIN is completely normal just like you would see it for read() calls that would block. Those EAGAIN's probably resulted in one or both fd in the splice to be popped back into epoll,select...etc.

>
> Are there specific traffic profiles which benefit most from the use of splicing? As I mentioned earlier I'm not seeing any performance improvement while using it - in fact I've seen degradation when transferring large files, which suggests to me that I'm possibly not using it appropriately.
>
> Any advice on using TCP splicing with HAProxy would be greatly appreciated.
>
> Cheers,
>
> Maurice
>
>
>
>
Received on 2010/10/07 22:19

This archive was generated by hypermail 2.2.0 : 2010/10/07 22:30 CEST