Asp.net web api asp net核心kestrel高cpu使用率

Asp.net web api asp net核心kestrel高cpu使用率,asp.net-web-api,cpu-usage,.net-5,kestrel,Asp.net Web Api,Cpu Usage,.net 5,Kestrel,我在.Net5+Kestrel中有一些Web Api应用程序,我想测试可以处理的最大请求。 当我将请求数从低增加到高(例如,从10个同时请求增加到50个,然后增加到100个,最后增加到500个)时,程序没有问题,可以在5秒内异步响应500个请求。 但是,当一段时间后(例如10分钟),我再次向服务器发送500个请求时,CPU消耗达到100%,程序没有响应,我必须重新启动程序以解决响应问题 如何解决问题?在调试程序并使用dotTrace程序后,我意识到当我想在服务中创建httpConnection时

我在.Net5+Kestrel中有一些Web Api应用程序,我想测试可以处理的最大请求。 当我将请求数从低增加到高(例如,从10个同时请求增加到50个,然后增加到100个,最后增加到500个)时,程序没有问题,可以在5秒内异步响应500个请求。 但是,当一段时间后(例如10分钟),我再次向服务器发送500个请求时,CPU消耗达到100%,程序没有响应,我必须重新启动程序以解决响应问题


如何解决问题?

在调试程序并使用dotTrace程序后,我意识到当我想在服务中创建httpConnection时,我会在使用后处理该值,当服务器上的请求量增加时,创建和删除httpConnecton的动作,在服务器上增加了很多开销

我希望它能帮助别人

我知道解决这类问题的方法是使用IHttpClientFactory。 但因为我使用EurekaServiceDiscovery,我应该创建一个DiscoveryHttpClientHandler并将其传递给HttpClient构造函数。我不能这样做。那么解决办法是什么呢