haproxy特性详解

1、haproxy简介
web

haproxy是一个提供高可用性,负载均衡的应用代理,支持的协议有TCP,HTTP,而且支持虚拟主机,特别适用于那些负载量大的web应用,这些应用一般须要会话保持或者七层处理,HAProxy实现了一种事件驱动、单一进程模型,此模型支持很是大的并发链接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,不多能处理数千并发链接。事件驱动模型由于在有更好的资源和时间管理的用户端(User-Space) 实现全部这些任务,因此没有这些问题。此模型的弊端是,在多核系统上,这些程序一般扩展性较差。这就是为何他们必须进行优化以 使每一个CPU时间片(Cycle)作更多的工做。服务器

haproxy目前最新的版本是1.4系列的,提供了不少比较1.3的新的特性:多线程

1.支持客户端侧的长连接(client-side keep-alive)并发

2.支持TCP加速(TCP speedups)负载均衡

3.支持响应池(response buffering)ide

4.支持RDP协议高并发

5.支持基于源的粘性(source-based stickiness)性能

6.有更好的统计数据接口(a much better stats interfaces)优化

7.有更详细的健康状态检测机制(more verbose health checks)spa

8.有基于流量的健康评估机制(traffic-based health)

9.支持HTTP认证

10.服务器管理命令行接口(server management from the CLI)

11.基于ACL的持久性(ACL-based persistence)


支持的平台以及OS

x8六、x86_6四、Alpha、SPARC、MIPS及PARISC平台上的Linux 2.4;

x8六、x86_6四、ARM (ixp425)及PPC64平台上的Linux2.6;

UltraSPARC 2和3上的Sloaris 8/9;

Opteron和UltraSPARC平台上的Solaris 10;

x86平台上的FreeBSD 4.1-8;

i386, amd64, macppc, alpha, sparc64和VAX平台上的OpenBSD 3.1-current;


2、haproxy的性能

1.haproxy使用单进程,事件驱动模型下降了上下午切换的开销及内存的占用

2.O(1)事件查看器(event checker)容许其在高并发链接中对任何链接的任何事件实现即时探测

3.单缓冲机制,不会复制任何数据,节约CPU时钟周期

4.能够实现零复制转发,在Linux kernel 3.5以上还支持零复制启动

5.MRU内存分配器在固定大小的内存池中可实现即时内存分配,这可以显著减小建立一个会话的时长

6.采用树型存储

7.大部分工做都在用户空间完成,如时间读取、缓冲聚合及文件描述符的启用和禁用等


3、配置haproxy

1.配置文件格式:global配置段,用于设定全局配置参数,proxy配置段,包括:defaults,listen,fronted,backend

2.时间格式:一些包含了值的参数表示时间,如超时时长。这些值通常以毫秒为单位,但也可使用其它的时间单位后缀:

us: 微秒(microseconds),即1/1000000秒;

ms: 毫秒(milliseconds),即1/1000秒;

s: 秒(seconds);

m: 分钟(minutes);

h:小时(hours);

d: 天(days)

相关文章
相关标签/搜索