我有一个.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请求:
单独请求:
答案 0 :(得分:0)
我在将照片上传到服务器时遇到了同样的问题,并且TTFB的时间太长了(当时没有任何理由)。在研究了类似的问题并进行了多次调试之后,我发现如果最近没有请求,则IIS服务器不会在应用程序池中保存服务。就我而言,这是从FE调用的唯一第一个端点,它们托管在不同的docker映像中。您可以查看我的问题以查看类似的问题。
为解决此问题,我向每个服务实例添加了运行状况检查终结点,只是为了使其保持清醒状态,并且不将其从IIS应用程序池中删除。为此,我实施了5分钟的健康检查请求。我的.NET Core Gateway项目的时间间隔,问题似乎已解决。如果您要在IIS上运行项目,建议您这样做。