我有几个并行运行的网络作业。当它们并行运行时,我得到下面的堆栈跟踪超时错误。
“超时已过。在操作完成之前超时时间已过或服务器没有响应。” 在 System.Data.SqlClient.SqlCommand。C。ExecuteDbDataReaderAsync b_122_0(System.Threading.Tasks.Task 中的任务1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask
2.InnerInvoke()。c.cctor b_275_1(Object obj)在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback 回调,对象状态)
假设由于弹性池的基本资源分配量导致超时,我将弹性池从 50 个 eDTU 扩展到 100 个 eDTU,并检查了 Web 作业的并行运行。本地时间(UTC+5:30)2021-06-10 11:00:00PM 到 2021-06-10 11:59:59PM 运行并行作业时,弹性池资源利用率和 DB 资源利用率为绿色如下。根据这些报告,它显示虽然绿色的 db 资源利用率变为 100%,但同时分配的 100eDTU 的总资源利用率仅为 3%。我的问题是为什么它只使用 3% 的资源?弹性池中有 12 个 db。如果它与每个 db 平均共享资源,则至少应为 100/12 = 8.33。但是根据使用弹性池背后的想法,它应该分配更多的资源,因为它在数据库之间共享资源。
有人可以分享任何想法或说出背后的原因吗?
在此先感谢 --- Thushara ---