ADC

流量域的速率限制

您可以为流量域配置速率限制。NetScaler 表达式语言中的以下表达式用于识别与流量域相关的流量。

  • client.traffic_domain.id

您可以为与特定流量域、一组流量域或所有流量域相关的流量配置速率限制。

有关如何使用 NetScaler 配置 IP 速率限制的详细信息,请观看以下视频:

要为流量域配置速率限制,您可以使用配置实用程序或 NetScaler 命令行在 NetScaler 设备上执行以下步骤:

  1. 将使用 client.traffic_domain.id 表达式来识别与流量域相关的流量的流选择器配置为速率限制。
  2. 配置速率限制标识符,该标识符指定参数,例如要限制速率的流量的最大阈值。您还可以在此步骤中将流选择器与速率限制器相关联。
  3. 配置要与使用速率限制标识符的策略关联的操作。
  4. 配置一个策略,该策略使用 sys.check_limit 表达式前缀调用速率限制标识符,并将该操作与该策略相关联。
  5. 全局绑定策略。

举一个例子,其中在 NetScaler NS1 上配置了两个 ID 为 10 和 20 的流量域。在流量域 10 上,LB1-TD-1 配置为对服务器 S1 和 S2 进行负载平衡;LB2-TD1 配置为对服务器 S3 和 S4 进行负载平衡。

在流量域 20 上,LB1-TD-2 配置为对服务器 S5 和 S6 进行负载平衡;LB2-TD2 配置为对服务器 S7 和 S8 进行负载平衡。

下表列出了示例设置中流量域的速率限制策略的一些示例。

用途 CLI 命令
将每个流量域的请求数限制为每秒 10 个。 add stream selector tdratelimit-1 CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier limitidf-1 -threshold 10 -selectorName tdratelimit-1 -trapsInTimeSlice 0 add responder policy ratelimit-pol “sys.check_limit(\“limitidf-1\”)” DROP bind responder global ratelimit-pol 1
将每个流量域的请求数限制为每台客户端每秒 5 个。 add stream selector tdandclientip CLIENT.IP.SRC,CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td_limitidf -threshold 5 -selectorName tdandclientip -trapsInTimeSlice 5 add responder policy tdratelimit-pol “sys.check_limit(\“td_limitidf\”)” DROP bind responder global tdratelimit-pol 2
将针对特定流量域(例如流量域 10)发送的请求数限制为每 3 秒 30 个请求。 add stream selector tdratelimit CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td10_limitidf -threshold 30 -timeSlice 3000 -selectorName tdratelimit -trapsInTimeSlice 5 add responder policy td10ratelimit “client.traffic_domain.id==10 && sys.check_limit(\“td10_limitidf\”)” DROP bind responder global td10ratelimit 3
将特定流量域(例如流量域 20)的连接数限制为每台客户端每秒 5 个。 add stream selector tdandclientip CLIENT.IP.SRC CLIENT.TRAFFIC_DOMAIN.ID add ns limitIdentifier td20_limitidf -threshold 5 -mode CONNECTION -selectorName tdandclientip -trapsInTimeSlice 5 add responder policy td20_ratelimit “client.traffic_domain.id==20 && sys.check_limit(\“td20_limitidf\”)” DROP bind responder global td20_ratelimit 4
流量域的速率限制