Durable Functions疑似内存泄漏问题排查求助
Durable Functions 内存消耗异常问题
我们首次实现Durable Functions,因存在一个需3-5分钟完成的HttpTrigger,故采用AsyncHttp模式,功能已正常实现,但发现内存消耗异常。切换为Durable Functions后内存上升明显,甚至触发了App Insights的潜在内存泄漏警告。当前使用默认配置,即使应用未被主动使用(除健康检查外),内存仍持续上升,但本地运行时无异常内存消耗。
内存消耗情况
内存消耗截图显示:切换为Durable Functions后内存占用持续攀升,远超之前的水平,触发了App Insights的潜在内存泄漏告警。
示例代码
[FunctionName("ApproveMemberChangeRequestStart")] public async Task<AsyncHttpResponse> ApproveChangeRequestStart([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "members-change-request/{ik}/approve")] HttpRequestMessage req, string ik, [DurableClient] IDurableOrchestrationClient starter) { var userIdentity = _userService.GetUserIdentity(); var instanceId = await starter.StartNewAsync("ApproveMemberChangeRequestOrchestrator", new ApproveChangeRequestInput(ik, userIdentity)); return new AsyncHttpResponse(instanceId); } [FunctionName("ApproveMemberChangeRequestOrchestrator")] public static async Task RunApproveChangeRequestOrchestrator([OrchestrationTrigger] IDurableOrchestrationContext context) { var input = context.GetInput<ApproveChangeRequestInput>(); try { await context.CallActivityAsync("ApproveMemberChangeRequest", input); } catch (Exception ex) { context.SetCustomStatus(ex.InnerException?.Message); throw; } } [FunctionName("ApproveMemberChangeRequest")] public async Task ApproveChangeRequest([ActivityTrigger] ApproveChangeRequestInput input) { await _changeRequestService.Approve(input.Ik, input.UserIdentity); }
内容的提问来源于stack exchange,提问作者Matt Immer
相关产品推荐
相关产品推荐

