HaProxy 1.5 说明文档翻译
来源:互联网 发布:淘宝图片防止右键保存 编辑:程序博客网 时间:2024/05/17 08:30
- 全局参数
chroot 选择一个空目录且无人使用,这样能够保证HAProxy的安全,减少被利用的可能。
cpu-map <all | odd | even | process_num> <cpu-set>
- 性能优化
maxpipes <number> haproxy使用pipe完成基于内核的tcp报文重组,此选项则用于设定每进程所允许使用的最大pipe个数;每个pipe会打开两个文件描述符,因此,“ulimit -n”自动计算时会根据需要调大此值;默认为maxconn/4,其通常会显得过大
noepoll 在Linux系统上禁用epoll机制
nokqueue 在BSE系统上禁用kqueue机制
nopoll 禁用poll机制
nosepoll 在Linux禁用启发式epoll机制
nosplice 禁止在Linux套接字上使用内核tcp重组,这会导致更多的recv/send系统调用;不过,在Linux 2.6.25-28系列的内核上,tcp重组功能有bug存在.
nogetaddrinfo 禁用getaddrinfo以解析名称(?name)
spread-checks <0..50,in percent> 有时候避免精准的健康检查时间间隔更加合理。
tune.bufsize <num> 设置buff大小。较小的值使得相同大小的内存中保存更多会话(并发连接),较大的值可以让应用拥有更大的缓存cookies。默认值是16384,可以在编译的时候更改。但强烈建议不去修改它。因为值太小会破坏某些服务(例如statistics),而值太大则会增加内存负担,可能造成内存溢出。至少同样条件下,该变量增加会导致全局并发连接会下降。若HTTP请求大于(tune.bufsize - tune.maxrewrite),haproxy会返回400错误(请求错误)。同样的,若HTTP回应大于该值,则返回502错误(gateway error)。
tune.chksize <num> 设置check buffer的大小。更大的数值有利于在更大的页面中差找到字符串和正则表达式,虽然这么做会增加内存和CPU负担。默认值16384,编译时可更改。虽然不建议修改,但有可能的话最好使用更好的checks。
√ tune.comp.maxlevel <num> 设置最大的压力等级。该等级影响CPU在压力过程中的利用率。每个会话使用该值来初始化压力算法。默认为1。
tune.http.cookielen <num> 设置最大缓存cookies的大小。这是“capture cookie xxx len yyy”所允许的最大值,任何比他大的值都会被缩减成这个值。有一点值得说明,不要把这个值设大了,因为所有的cookies都会被分配成这个值,无论它们配置的大小是多少(因为它们共享同一个pool)。这个值是按每个请求每个回应来算的,所以每个连接的内存分配大小是该值的两倍。没有特别声明时,该限制大小是63个字节,最好别修改。
tune.http.maxhdr <num> 设置请求头的最大值。当接收到的请求头大于该值(包含第一行)时,将会被拒绝,错误码是“400 bad request”;同样的,回应头过大时,会导致阻塞,错误码是“500 gateway
error”。默认值是101,考虑到Apache服务器大规模的使用该limit值,(该值)足够应付所有用途了。可以将它设大一些,暂时让一个有错误(buggy)的应用工作,直到错误被修复。请记住,每次会话的每个新头部都会消耗32bits的内存容量,所以最好别设太大了。
tune.idletimer <timeout> 设置haproxy查找空闲流(steams)占用空buffer的过程后的间隔时间。它通常用来修正一些包的大小(要么变得过大要么变得过小)。到底是使用splice()还是在SSL中发送大型buffer也是在该参数决定。<timeout>值是0到65535毫秒,值为0表示不会尝试检测空闲流(streams)。默认值为1000,差不多就是用户停顿时的检测(例如在点击之前读取页面)[此句没翻译好]。应该没理由改变该值。请参见tune.ssl.maxrecord。
tune.maxaccept <num> 设定haproxy进程内核调度运行时一次性可以接受的连接的个数。单进程模式中,较大的值可以带给高连接速率更好的性能表现,然而在多进程模式下,调节各个进程之间的平衡比增加性能更重要。这个值逐一应用于每个listener,因此一个listener绑定了多少个进程非常重要。该值默认为64,多进程模式下默认值是64除以listener绑定的进程数值的两倍。设定为-1可以完全禁止此限制。通常不需要修改这个值。
tune.maxpollevents <num> 设置调用轮训系统时进程同时最大的事件数量。这个值取决于操作系统。实验证明,其值小于200时可节约带宽,但会略微增大网络延迟,而大于200时会降低延迟,但会稍稍增加网络带宽的占用量。
tune.maxrewrite <num> 设定为首部重写或追加而预留的缓冲空间,建议使用1024左右的大小。在需要使用更大的空间时,haproxy会自动增加其值。
tune.rcvbuf.client <number>:定义在客户端内核套接字接收缓冲区的大小,单位为字节,建议不要调整此值。
tune.rcvbuf.server <number>:设定内核套接字中服务端或客户端接收缓冲的大小,单位为字节;强烈推荐使用默认值。
tune.sndbuf.client:定义在客户端内核套接字发送缓冲区的大小,单位为字节,建议不要调整此值。
tune.sndbuf.server:定义在服务端内核套接字发送缓冲区的大小,单位为字节,建议不要调整此值。
appsession
balance <algorithm> [ <arguments> ] algorithm 有如下几个选项:1. roundrobin 轮询 动态,运行过程中修改weight会实施生效。最多只能存在4095个活跃server;
2. static-rr 静态轮询 活跃server无上限;
3. leastconn 最少连接 当前集群中处于最少连接状态的服务器将获取新连接。适合长时间会话保持如LDAP、SQL、TSE,不适合短期 会话如http;
bind [<address>]:<port_range> [, ...] [param*]
bind /<path> [, ...] [param*]
bind-process [ all | odd | even | <number 1-64>[-<number 1-64>] ] ... 设定能处理事件的进程个数。
block { if | unless } <condition>
- HaProxy 1.5 说明文档翻译
- flot 说明文档-翻译
- cmdlet帮助文档翻译说明
- NdefRecord官方说明文档翻译
- GitHub Masonry 说明文档翻译
- Unity3D说明文档翻译-Basics
- Unity3D说明文档翻译-Searching
- Unity3D说明文档翻译-Scenes
- Unity3D说明文档翻译-GameObjects
- Unity3D说明文档翻译-GameObject
- Unity3D说明文档翻译-Transform
- Unity3D说明文档翻译-Tags
- Unity3D说明文档翻译-Prefabs
- Unity3D说明文档翻译-Input
- Unity3D说明文档翻译-Graphics
- Unity3D说明文档翻译-Physics
- Unity3D说明文档翻译-Scripting
- Unity3D说明文档翻译-Audio
- spring aop入门
- 指针
- hadoop 部门职员的join 操作
- 20160205.CCPP体系详解(0015天)
- Jfire-mvc开发文档
- HaProxy 1.5 说明文档翻译
- BZOJ_P2761 [JLOI2011]不重复数字(sb题)
- objective-C学习 sigton单例
- 编程题#6:MyString(C++程序设计第10周)
- 第一届_第一题_黑色星期五
- 局部变量和全局变量
- c++虚拟继承
- Java基础10 接口的继承与抽象类
- 结构体