0

I have following configuration in my linode slice

NB <----->web1+web2+web3 Here's the configuration screenshot from linode: enter image description here

We need NB in http mode since we need few things that plain tcp mode does not give.

Now my problem is : when i run something like webpagetest.org for benchmarking purpose, i always get message that my domain is running static assets without keepalives. In TCP mode, keepalive is fine.

I understand haproxy is working as nodebalancer in linode. I just wanted to know "is this a known limitation of NB/haproxy or am i doing anything wrong ????"

kaji
  • 2,510
  • 16
  • 17

2 Answers2

2

If I understand your question properly you're saying that NodeBalancer is based on HAProxy. I can't find any documentation stating that this is the case.

Versions of HAProxy before 1.4 did not support HTTP Keep-Alive. Version 1.4 was released in February 2010. If NodeBalancer is actually built on HAProxy and they used version 1.3, then it will not support HTTP Keep-Alive between the client and NodeBalancer.

Client Keep-Alive is useful because it saves saves one round-trip-time per HTTP request. Combining Keep-Alive and pipelining can deliver many requests in a two round-trip-times (one for TCP setup, one for a bunch of HTTP requests), rather than two per resource without them. This is a simplified view of things, but is a decent rule of thumb.

Something that very few proxies support are keep-alives between the proxy and the backend servers. This is invisible from the client side, but results in a few extra packets being transmitted. It does not matter as much as client-side keep-alive, as the round-trip time between proxy and backend server is usually very low.

akramer
  • 546
  • 2
  • 6
  • I thought i heard from somewhere in the internet but could not find the source now. So what if it's not haproxy ? do you have any such experience ? I have also opened up a ticket in their community forum....keeping finger crossed – kaji Feb 21 '12 at 09:17
0

As per Linode Node Balancer documentation

TCP: Use TCP mode to balance non-HTTP services.

HTTP: HTTP KeepAlives are forced off in HTTP mode.

HTTPS: With HTTPS selected, your NodeBalancer will terminate SSL connections. As with HTTP mode, KeepAlives will be disabled and the client’s IP address will be provided in the X-Forwarded-For header.

Axxiss
  • 101
  • 1