正文
前言
最近学习了很长时间的Linux内核参数
但是大部分是纸上谈兵.
也没有一个好的系统用于学习和参照
晚上搜索F5资料时发现F5有一些iso和ova文件
就想着下载学习一下. 看看F5系统默认的参数是多少.
反向代理-负载均衡的技术总结
反向代理-负载均衡其实种类挺多的, 也是现在互联网一个比较基础的功能.
种类也比较多种多样.
最常见的主要有
1. 基于LVS的负载均衡,反向代理
自己有分为三类负载均衡的方式: VS-NAT,VS-DR,VS-Tun
2. 基于DNS轮询的负载均衡
可以使用自有的基础设施层, 可以在不同地域,不通运营商的介入情况下
连接不同服务器(分数据库中心,分地域,或者是降低压力.)
3. 基于nginx等的负载均衡软件
Nginx的负载均衡主要分为7层负载和4层负载.
4. F5 等硬件负载均衡设备
Nginx其实已经被F5收购, 现在的梯队应该是:
Nginx-Nginx PLus(Nginx的收费企业版)-F5-BIGIP-LTM系统的负载均衡-F5的硬件设备
一般理解F5的硬件设备最优秀一些. 能够支撑足够多的压力.
但是如果超过了5万以上的并发连接数,可能需要采用其他的负载均衡模式.
F5的安装与简单使用
下载地址:
ISO的版本:
https://downloads-sin-f5.s3.ap-southeast-1.amazonaws.com\
/big-ip/big-ip_v17.x/17.0.0/english/17.0.0.2/\
BIGIP-17.0.0.2-0.0.2.iso
OVA的版本:
https://downloads-jp-f5.s3.ap-northeast-1.amazonaws.com\
/big-ip/big-ip_v17.x/17.0.0/english/17.0.0_virtual-edition/\
BIGIP-17.0.0-0.0.22.ALL-vmware.ova
注意1: 需要在F5的网站上注册一个账户并且根据邮件设置初始密码才可以.
注意2: ova是可以直接导入虚拟化平台的,ISO需要自行安装.
安装与初始密码
本次想着简单来,直接还是用F5的ova文件进行导入.
使用WorkStation导入ova文件即可.
可以看到内核版本为 3.10 的linux
注意本次仅进行了 17.0.0.2的测试与验证没有其他操作系统版本的使用.
系统的默认用户是 root/default
第一次登录必须输入密码
需要注意 登录成功后再次输入一遍default才可以改密码
部分核心参数信息
发现F5的ova文件并没有进行非常严格的性能优化.
下面就简单将自己自己认为比较重要的参数罗列出来.
唯一看出有变化的就是:net.ipv4.tcp_max_tw_buckets
跟默认的Linux CentOS的数值有差异
进行了一定程度的减少.
其他的内核参数都基本上是原生的参数.
部分核心参数信息
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 6
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_orphan_retries = 0
# 内核里面这个0 好像是默认8次
net.ipv4.tcp_max_syn_backlog = 128
net.core.somaxconn = 128
net.ipv4.tcp_max_tw_buckets = 16384
# 看到这两个参数我感觉没有进行彻底优化呢.
net.ipv4.tcp_max_orphans = 16384
net.ipv4.tcp_fin_timeout = 60
net.ipv4.ip_local_port_range = 32768 60999
# 这个是centos默认的系统值.
fs.nr_open = 1048576
fs.file-max = 401514
部分核心参数信息
net.netfilter.nf_conntrack_tcp_max_retrans = 3
net.netfilter.nf_conntrack_tcp_timeout_close = 10
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_established = 432000
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30
net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300
net.netfilter.nf_conntrack_max = 131072
net.core.wmem_max = 1048576