Jim*_*Aho 6 performance asp.net-core
乍一看,在编写 ASP.NET Core 3.1 应用程序时,人们可能会认为只要您能够处理所有传入请求,就会同时向其他 API 等发出一堆传出请求(假设您的 API 正在处理大量请求)当然是传出 API 调用)。
我想知道这一点,因为当我阅读有关实际进行了多少次调用的文档时,我偶然发现了 ServicePointManager 及其 property DefaultConnectionLimit
。根据文档,默认值似乎是 10 :
ServicePoint 对象允许的最大并发连接数。对于 ASP.NET 托管应用程序,默认连接限制为 10 个;对于所有其他应用程序,默认连接限制为 2 个。
例如,即使您每秒处理 1k 个传入请求,在任何给定时间,传出请求的数量ServicePointManager
也不会超过 10 个。这就是我不明白的地方——这怎么可能很好地扩展?我天真的想法是,当然,.NET Core 本身并不限制传出请求的数量,并且您的 API 是否会通过破坏请求来耗尽其他 API,这将取决于您,但显然这永远不会发生在 .NET Core 之外。框,因为默认情况下禁止这样做。HttpClient
HttpClient
ServicePointManager
我见过“建议”在启动时调用的示例ServicePointManager.DefaultConnectionLimit = int.MaxValue
。
但为什么它首先设置为 10 这么低的值呢?设置为合理吗int.MaxValue
?
归档时间: |
|
查看次数: |
4277 次 |
最近记录: |