在Visual Studio中调试应用时,TTFB的运行时间非常长

时间:2019-01-28 15:02:28

标签: .net asp.net-mvc vue.js asp.net-core

我有一个.NET Core MVC项目,该项目需要维护的Vue.js框架。

在Visual Studio中本地调试(通过IIS Express)时,我遇到了一个问题,该时间到了应完全加载应用程序的时间。 (对我的API控制器而言)有几个请求,要求大约30-40s TTFB的JSON数据,这大约在1分钟内完成了全部加载。 但是,当我单独运行单个请求时,只需要大约4s即可返回数据。 即使是一个很小的7KB png徽标也需要17s TTFB,但是仅是相同的请求就只需要4.5s

我尝试了在Google,MSDN和SO上找到的所有可能的解决方案... Visual Studio可以选择恶作剧,进行PerfView分析,甚至可以从VS中排除甚至隐藏“ node_modules”文件,但似乎并没有任何改善。

我在同一台计算机上也有自己的培训/测试Vue.js(有点简单)网站,没有问题,TTFB在1s下。

VS请求:

VS request

单独请求:

Request alone

1 个答案:

答案 0 :(得分:0)

我在将照片上传到服务器时遇到了同样的问题,并且TTFB的时间太长了(当时没有任何理由)。在研究了类似的问题并进行了多次调试之后,我发现如果最近没有请求,则IIS服务器不会在应用程序池中保存服务。就我而言,这是从FE调用的唯一第一个端点,它们托管在不同的docker映像中。您可以查看我的问题以查看类似的问题。

为解决此问题,我向每个服务实例添加了运行状况检查终结点,只是为了使其保持清醒状态,并且不将其从IIS应用程序池中删除。为此,我实施了5分钟的健康检查请求。我的.NET Core Gateway项目的时间间隔,问题似乎已解决。如果您要在IIS上运行项目,建议您这样做。