lvs/nat 模式与 haproxy 性能比较如何?

请问 lvs/nat 模式和haproxy模式把http请求转发到后端,哪个性能应该会好一些?

Forums:

我觉得LVS NAT会高一些,但是haproxy多简单啊。

haproxy的优点是可以作7层的控制,这样你可以把静态页面定位到apache,动态页面定位到cgi

开源的七层交换方案除了haproxy,还可以用nginx url_hash。LVS项目的KTCPVS还行,有人继续开发就好。
http://www.linuxvirtualserver.org/software/ktcpvs/ktcpvs.html

应该是LVS/NAT在性能上会好很多,LVS/NAT主要受限于硬件和内核报文的转发速度。haproxy毕竟是用户空间的程序,空间切换和内存复制的开销太大。

从程序开发的角度,说出了差别。

Haha. I woke up down today. You've chreeed me up!

Thank God! Soemnoe with brains speaks!

可以测试一下,haproxy和转发性能要比Nginx要好,但CPU占用要高于Nginx。

我测试过的数据,在相同的测试环境下(Hits per Second),
lvs (DR)= 1.6 W , CPU = 25%
Nginx = 2 W , CPU = 80%
Haproxy = 2.3 W , CPU = 95%

服务器四核,三者的性能都到达权限。

http://hi.baidu.com/higkoo

randomness