返回介绍

最佳实践 42:NetScaler Surge Protection 引起的问题案例

发布于 2025-04-20 17:44:43 字数 1754 浏览 0 评论 0 收藏

在 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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。