httpclient 调用在服务器中排队,导致应用程序出现性能问题

问题描述 投票:0回答:1

我们有一个围绕 .NET 4.8 构建的应用程序。生产中的应用程序有 4 个服务器,并且大量使用 http 调用来获取数据。出站 http 调用是通过 httpclient 类从应用程序完成的。然而,httpclient 调用似乎正在排队,我们可以看到 defaultconnectionlimit 属性已设置为 20。一些出站 http 调用也非常慢,有些有时需要超过 10-20 秒。应用程序非常慢高峰负载时段,CPU、内存等服务器参数均低于20%。

增加以下提到的财产的价值对此有影响吗?如果是,理想的值是多少,以便我们可以进行相应配置并以最佳方式利用服务器中的资源。

仅供参考:在高峰负载时段,应用程序在 1 小时内从应用程序发出至少 100k 出站 http 调用。

ServicePointManager.DefaultConnectionLimit = 20; // 我们正在尝试确定这是否是问题的根本原因

c# performance httpclient .net-4.8
1个回答
0
投票

我必须承认,我不太了解该地区,但我认为这很可能会给您带来问题,因为您在高峰时段有相当多的出站请求。

尝试逐渐增加它,例如 50 然后 100 作为您的下一步,并监控您的指标以查看更改的影响。 不要忘记,您还需要监控您的网络基础设施,以确保它能够应对增长。 您也不想让它超载。

问题在于试图找到正确的平衡点和延迟,以及应用程序和基础设施的限制。

© www.soinside.com 2019 - 2024. All rights reserved.