让我先说这个,说我不是系统pipe理员,我是程序员。
最近,我们的系统pipe理员安装了F5负载平衡器。 从那以后,我注意到,每当请求超时并最终抛出一个500,负载均衡器就会向我们的另一台服务器发送相同的请求。 即使脚本实际上仍在运行,IIS也会发送超时响应。 即使脚本运行超过5分钟,POST请求也会被复制。 这对我来说似乎是一个潜在的问题,特别是涉及到客户账单的电子商务网站。
这只是我们一些较长的运行脚本的一个问题(但这是一个严重的问题)。 我被告知,这是预期的行为,我们将不得不改变我们的代码来符合。 所以我的问题是:
看一看Big-IP中被动应用程序监控的这个入口
我的答案是令人失望的
也许(取决于被动监视configuration)
用户没有看到错误
“closures服务的操作”是一个可configuration的设置。
如果发生500错误,则表示Web服务器出现问题。 然后F5将简单地将这个错误转发给连接客户端。 它不会“重新发送”自己的请求。 这种情况发生的唯一方法是客户端重新尝试请求。 在这一点上,这个请求可能会负载平衡到另一个池成员,虽然没有保证,它将基于持久性或使用的负载平衡方法(循环赛,最less连接等)。
总之,除非你在F5上有一些非常疯狂的iRule,否则这是一个由脚本本身引起的行为。
(注意:我曾经在LTM工作了一年半,是F5的Nework支持工程师)