- 前言
- 读者对象
- 如何阅读本书
- 勘误和支持
- 致谢
- 第 1 篇 高性能网站构建
- 第 1 章 深入理解 DNS 原理与部署 BIND
- 第 2 章 全面解析 CDN 技术与实战
- 第 3 章 负载均衡和高可用技术
- 第 4 章 配置及调优 LVS
- 第 5 章 使用 HAProxy 实现 4 层和 7 层代理
- 第 6 章 实践 Nginx 的反向代理和负载均衡
- 第 7 章 部署商业负载均衡设备 NetScaler
- 第 8 章 配置高性能网站
- 第 9 章 优化 MySQL 数据库
- 第 2 篇 服务器安全和监控
- 第 10 章 构建企业级虚拟专用网络
- 第 11 章 实施 Linux 系统安全策略与入侵检测
- 第 12 章 实践 Zabbix 自定义模板技术
- 第 13 章 服务器硬件监控
- 第 3 篇 网络分析技术
- 第 14 章 使用 tcpdump 与 Wireshark 解决疑难问题
- 第 15 章 分析与解决运营商劫持问题
- 第 16 章 深度实践 iptables
- 第 4 篇 运维自动化和游戏运维
- 第 17 章 使用 Kickstart 完成批量系统安装
- 第 18 章 利用 Perl 编程实施高效运维
- 第 19 章 精通 Ansible 实现运维自动化
- 第 20 章 掌握端游运维的技术要点
- 第 21 章 精通手游运维的架构体系
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
最佳实践 42:NetScaler Surge Protection 引起的问题案例
在 NetScaler 基本负载均衡核心参数配置中,讲到了参数 sp(Surge Protection,浪涌保护)。那么什么是 Surge Protection 呢?
在大量客户端并发请求的时候,后端服务器会因为压力过大导致响应变慢而无法服务新的请求。Surge Protection 确保客户端的大量并发连接和请求以后端服务器可以接受的速率进行转发。这看上去是很好的特性,但其初始值过小,为 200。在某些业务场景下会导致客户端超时。
我们的一款免费短信 APP,同时在线用户数规模很大。在一段时间内,发现后端服务器(Nginx)上出现了数量巨大的 499 错误。后端服务器被 NetScaler 负载均衡。
其中一台上的某天的统计数据如下(第一列是 499 错误数量):
------10.136.20.211------ 2537 /opt/logs/activities.y.sdo.com_access.log 48 /opt/logs/dl.plugin.y.sdo.com_access.log 123024 /opt/logs/enterprise.apps.y.sdo.com_access.log 2436 /opt/logs/file.y.sdo.com_access.log 8 /opt/logs/fsms.app.y.sdo.com_access.log 426 /opt/logs/https_log_S2.y.sdo.com_access.log 426 /opt/logs/https_log.y.sdo.com_access.log 7617 /opt/logs/img.y.sdo.com_access.log 12960 /opt/logs/jieriduanxin.y.sdo.com_access.log 110 /opt/logs/localhost_access.log 318958 /opt/logs/log_S2.y.sdo.com_access.log 339409 /opt/logs/log.y.sdo.com_access.log 53717 /opt/logs/mcash.apps.y.sdo.com_access.log 380 /opt/logs/media.wine.y.sdo.com.log 132 /opt/logs/ms.app.y.sdo.com_access.log 267 /opt/logs/msg.apps.y.sdo.com_access.log 1785 /opt/logs/n.sdo.com_access.log 3 /opt/logs/openlog.y.sdo.com_access.log 116869 /opt/logs/plugin.y.sdo.com_access.log 1526 /opt/logs/resources.y.sdo.com_access.log 364 /opt/logs/scene.apps.y.sdo.com_access.log 108 /opt/logs/task.y.sdo.com.log 2463 /opt/logs/wine.y.sdo.com.log 721 /opt/logs/y.to_access.log
通过抓包发现,从 NetScaler 收到请求到 NetScaler 向后端转发请求,最长的间隔超过了 54s,此时客户端因为超时而中断了连接。通过 NetScaler 排错步骤推荐的步骤(3)可以看到 SQ(Surge Queue)比较大,说明是因为 Surge Protection 引起的。
由此建议把 Surge Protection 这个特性关闭。使用如下命令:
> disable ns feature SurgeProtection
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论