策略扩展退出并终止执行,功能超出时间限制

时间:2017-12-12 14:04:13

标签: load-balancing citrix netscaler

我正在尝试在lua为Citrix Netscaler编写策略扩展,计算字符串的base64并将其添加到标头中。大多数情况下,该函数工作得很好,但我在ns.log中看到的次数超过了以下消息终止执行 -

  

终止执行,功能超出时间限制。

在文档中没有任何地方可以找到这个时间限制的确切时间(从我看到它的大约1毫秒,这对我来说没有意义)或如何配置它。

所以我的问题是:这个属性是否可配置,如果是这样的话?

2 个答案:

答案 0 :(得分:0)

为什么你需要去'lua'?使用策略表达式,您可以执行text.b64encode或text.b64decode。我没有回答你的Q,但你可能不知道Netscaler中的内置编码器/解码器。

答案 1 :(得分:0)

尽管我没有任何正式文件,但我认为任何策略的最长执行时间均为10毫秒。柜台也对此有所确认。在shell上执行以下命令:

nsconmsg -K /var/nslog/newnslog -d stats -g 10ms -g timeout

您将看到所有具有这些名称的计数器。在脚本执行期间,您可以运行

nsconmsg -d current-g 10ms -g timeout

这将使您实时查看计数器。失败时,您会看到值递增。

我想说,您可以在脚本运行时在ns.log上打印时间以确认这一点。我不确切知道您在做什么,但是请记住,netscaler策略应该执行非常简短的执行,毕竟您正在处理一个数据包,而数据包的大小约为纳秒。