Hi
I actually did some quite in-depth comparison with splice() sys call
(only available on linux btw), between nginx and haproxy, and even wrote
a small standalone proxy server that uses it
There was some improvement, but not on the scale that would make it a
deciding factor
The thing that makes most difference to forwarding is your network card,
and if it supports LRO (large receive offload) - if you're using a 10G
lan card, it probably has it, anything less probably doesn't
I've attached my results, the test was proxying a file a certain amount
of times, and I would log how much cpu time was used (ab -n 1000 -c 10
192.168.1.101:8001/10MB.zip)
RTL = onboard realtek (they are crap)
INTEL = intel 1000CT ($30 thing)
LIN = Linux (3.6.something)
BSD = FreeBSD 9.0
HA = Haproxy (latest 1.5 dev version at the time)
NGX = Nginx 1.3.something
PS = splice() proxy that I wrote
SPL/BUF/OFF = mode either splice, buffer or off/on (nginx proxy_buffering)
Afterwards I got some 10G cards to test and it was (by probably 80-90%)
faster at all tests
On 28/03/13 11:57, Lukas Tribus wrote:
> Because nginx doesn't do tcp splicing. Is my assumption wrong; are you able to
> forward 20Gbps with nginx? Then yes, probably you have huge hardware, which isn't
> necessary with haproxy.
>
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx