超出 Azure 函数主机阈值的线程
Azure Function Host Threshold Exceeded Threads
我在消费计划中有多个 Azure 函数 运行。我还设置了 API 管理。在 Api 管理中,我们有 2 个 Web 测试,每 3-5 分钟对这些功能进行一次测试,并确保它们仍然可用并且可以访问。 Web 测试命中的端点只有以下代码。
[FunctionName("HealthCheck")]
public static Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "healthcheck")]HttpRequestMessage req, TraceWriter log)
{
log.Info("Health Check Triggered");
return Task.FromResult(req.CreateResponse(HttpStatusCode.OK));
}
在 运行 一段时间后,函数开始显示 503,并显示主机阈值已超出 [线程] 错误。我不知道是什么导致了这个问题。由于该功能在消费计划而不是应用程序服务计划上,Azure 是否有任何限制阻止此工作?提前感谢您提供任何信息。
Host Health Monitor 功能目前仅在存在这些沙盒限制的消费计划 上有效。该功能默认启用,但可以通过 host.json
的 healthMonitor
部分启用 disabled/configured,例如
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
如果您的 Function App 达到阈值,您会看到记录了 Host thresholds exceeded: [Threads]
之类的错误。 线程:线程数(限制为 512)。
更多细节,你可以参考这个article。
我在消费计划中有多个 Azure 函数 运行。我还设置了 API 管理。在 Api 管理中,我们有 2 个 Web 测试,每 3-5 分钟对这些功能进行一次测试,并确保它们仍然可用并且可以访问。 Web 测试命中的端点只有以下代码。
[FunctionName("HealthCheck")]
public static Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "healthcheck")]HttpRequestMessage req, TraceWriter log)
{
log.Info("Health Check Triggered");
return Task.FromResult(req.CreateResponse(HttpStatusCode.OK));
}
在 运行 一段时间后,函数开始显示 503,并显示主机阈值已超出 [线程] 错误。我不知道是什么导致了这个问题。由于该功能在消费计划而不是应用程序服务计划上,Azure 是否有任何限制阻止此工作?提前感谢您提供任何信息。
Host Health Monitor 功能目前仅在存在这些沙盒限制的消费计划 上有效。该功能默认启用,但可以通过 host.json
的 healthMonitor
部分启用 disabled/configured,例如
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
如果您的 Function App 达到阈值,您会看到记录了 Host thresholds exceeded: [Threads]
之类的错误。 线程:线程数(限制为 512)。
更多细节,你可以参考这个article。