ASP.net Kestrel的某些查询非常慢

时间:2018-09-23 12:19:04

标签: c# asp.net kestrel

我正在使用ASP.net(.net Core 2.0)应用程序,但我发现某些查询非常慢。

这是一个API,入口点仅对mongoDB(聚合)进行查询并返回结果。

当我运行10个请求时,其中一个请求将非常慢10秒,而其他请求将在200毫秒内进行。

在开始时,我怀疑是Mongo的问题,但是当我直接对mongo数据库执行完全相同的查询时,我没有重现问题。

在应用程序日志中,时间增量出现在这两行之间:

2018-09-20T09:07:02.253335192Z Connection id "0HLGUR04B579R" started. 2018-09-20T09:07:10.761709905Z info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]

这就是为什么我怀疑Kestrel的原因,但我真的不知道该怎么做才能改善性能并解决这个问题。

我已经将.net核心版本升级到2.1,但是我仍然面临着同样的问题。

如果有人有主意...

1 个答案:

答案 0 :(得分:0)

要解决您的问题,您有两种选择:

第一:

在部署应用后尝试执行一些热身查询。

第二:

如果您有大量的RAM(现在更便宜的是云中的内存),则可能想尝试使用touch命令,该命令使您能够将数据从磁盘预加载到内存中。 / p>