Citrix ADC

配置用于优化流量的策略

要使操作分析配置中的选择器标识符对生效,您必须将该对与流量流中要收集统计信息的点相关联。您可以通过配置高级策略并引用策略规则中的流标识符来实现此目的。您可以使用压缩策略、缓存策略、重写策略、应用程序防火墙策略、响应程序策略以及其操作基于布尔表达式的任何其他策略。

操作分析功能引入了一组用于收集和评估数据的高级策略表达式和函数。该表达式 ANALYTICS.STREAM(<identifier_name>)用于引用要使用的标识符。表达式 COLLECT_STATS 用于收集 统计数据。 IS_TOP(<uint>)IS_TOP_FREQUENTS(<uint>) 等函数用于制定自动、实时的流量优化决策。

  • IS_TOP(<number>)。查找给定对象是否位于<number>元素的顶部。例如,是前 10 个元素中的元素。当多个元素具有计数时,它们本质上被认为是相似的。必须启用排序函数才能避免出现 undef 条件。

  • IS_TOP_FREQUENTS(<frequency>)。查找给定对象是否位于顶部元素中的元素的顶部 <frequency>。例如,是维护的所有顶级元素中前 50% 的元素中的元素。具有相同值的元素在本质上被认为是相似的。必须启用排序函数才能避免出现 undef 条件。

由您的策略配置决定 Citrix ADC 设备是只能从流量中收集数据还是必须执行操作。如果设备只能收集统计数据,则可以使用规则 ANALYTICS.STREAM(<identifier_name>).COLLECT_STATS 和操作 NOOP 配置策略。NOOP 策略必须是绑定点具有最高优先级的策略。如果您只收集统计数据,此策略就足够了。流量优化决策(例如要压缩或缓存的内容)必须基于对统计数据的手动定期评估。

如果除了收集统计信息之外,设备还必须对流量执行操作,则必须配置 NOOP 策略的 gotopriorityExpression 参数,以便随后评估具有所需规则和操作的另一个策略。第二个策略必须有一个以 ANALYTICS.STREAM(<identifier_name>) 前缀开头的规则和一个用于评估数据的函数。

以下是全局配置和绑定的两个响应程序策略的示例。策略 responder_stat_collection 使设备能够根据标识符 myidentifier 收集统计信息。策略 responder_notify 会评估收集的数据。

示例

> add responder action send_notification respondwith '"You are in the Top 10 list for bandwidth consumption"'
 Done
> add responder policy responder_stat_collection' ANALYTICS.STREAM("myidentifier").COLLECT_STATS' NOOP
Done
> add responder policy responder_notify 'ANALYTICS.STREAM("myidentifier").BANDWIDTH.IS_TOP(10)' send_notification
 Done
> bind responder global responder_stat_collection 10 NEXT
 Done
> bind responder global responder_notify 20 END
 Done
<!--NeedCopy-->
配置用于优化流量的策略