软件负载均衡系统.PPT

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件负载均衡系统

Page * 操作系统性能优化1 Linux下TIME_WAIT对系统性能的影响 研发 2009-04-02 Page * 操作系统性能优化工作简介 TIME_WAIT的产生 Linux系统下的TIME_WAIT TIME_WAIT对性能的影响 对TIME_WAIT的更多思考 关于netstat命令 Page * 针对线上各类不同服务开展操作系统性能优化及内核定制 针对线上各类不同服务开展最优化运行OS平台选择 解决系统管理员碰到的各类操作系统级别疑难问题 每隔2~3周会举行一次技术交流会,向大家通告阶段性成果 操作系统性能优化工作简介 Page * TIME_WAIT的产生 TCP状态变迁图: 先发FIN的就可能进入TIME_WAIT状态 TCP为何要引入TIME_WAIT状态? 以下摘自《TCP/IP详解》卷1中文版: 当TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2倍的MSL。这样可让TCP再次发送最后的ACK 以防这个ACK丢失(另一端超时并重发最后的FIN) RFC 793 [Postel 1981c] 指出MSL为2分钟。然而,实现中的常用值是30秒,1分钟,或2分钟 视频演示TIME_WAIT的产生 Page * 被动连接出现的TIME_WAIT 主动连接出现的TIME_WAIT TIME_WAIT的产生 Page * TIME_WAIT相关sysctl参数及超时时间 [root@lvs ~]# sysctl -a | grep tw net.ipv4.tcp_max_tw_buckets //处于TIME_WAIT状态的socket数目的最大值 net.ipv4.tcp_tw_recycle //打开TIME_WAIT快速回收机制 net.ipv4.tcp_tw_reuse //TIME_WAIT状态socket复用 默认TIME_WAIT超时时间为60秒,不可通过sysctl调节 运维中遇到的TIME_WAIT问题 Netstat –an 命令发现TIME_WAITsocket数目要远远大于BSD下的 Dmesg常看到TCP: time wait bucket table overflow FreeBSD中可以通过sysctl 参数“net.inet.tcp.msl”来控制TIME_WAIT超时时长,Linux呢? 这么多的TIME_WAIT对服务器性能有影响吗? Linux 下TIME_WAIT相关sysctl参数如何设置? 为何sysctl –w net.ipv4.tcp_tw_recycle=1后,在有些服务器上TIME_WAIT数量会大量减少,而 在有些服务器上则貌似无效? Linux下的TIME_WAIT Page * 预备知识 Top 命令输出的%si Mpstat cat /proc/net/sockstat 输出结果中的tw字段 演示环境介绍 内核为新浪定制版(基于2.6.23) ,增加了一个控制TIME_WAIT时长的sysctl参数: Sysctl –w net.ipv4.tcp_tw_len = 2 设置TIME_WAIT在2秒后超时 TIME_WAIT对性能的影响 Page * 被动连接情况下: 实例演示: 1.使用系统默认配置 2.增大tcp_max_tw_buckets 3.缩短TIME_WAIT超时时间 4.将tcp_max_tw_buckets 设置为0 结论: 1.被动连接情况下,TIME_WAIT对性能的影响有限 2.不建议增大tcp_max_tw_buckets,因为这 会导致Linux性能的小量衰减 3.人工将TIME_WAIT超时时间调短后,不会给性能带来明显提升,在某些情况下也许 会起到反作用 4. tcp_max_tw_buckets设置为0后,可轻微降低CPU利用率 TIME_WAIT对性能的影响 Page * 主动连接情况下: 实例演示: 1.使用系统默认配置(net.ipv4.tcp_tw_reuse和tcp_tw_recycle都设置为0) 2. Sysctl 设置net.ipv4.tcp_tw_reuse=1后 3.sysctl设置net.ipv4.tcp_tw_recycle=1后 4.sysctl设置net.ipv4.tcp_timestamps=0后 结论: 1.主动连接情况下,TIME_WAIT对性能的影响很大 2.net.ipv4.tcp_tw_reuse和tcp_tw_recycle都设置为0时,在本地端口耗尽后负载会很高 3. net.ipv4.tcp_tw_reuse=1和

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档