Azure Web App 和 React SSR:初始加载时加载时间极慢

Azure Web App and React SSR: Extremely slow loading times on initial load

我对此很感兴趣,我设置了一个 Node 12 Azure Web 应用程序,在 React 中进行服务器端渲染。

但是,我无法理解为什么初始响应时间很慢(超过3分钟),但是在此之后,响应时间下降到大约1/2秒。

为什么初始响应这么慢?我是 Azure 和 SSR Web 应用程序的新手,但节点服务器是否只是从不活动状态关闭,每隔几分钟再次启动构建?

除了扩大网络应用程序之外,还有什么方法可以解决这个问题吗?

这是响应时间的图表:

应用程序启动时间长的常见原因是 node_modules 中的文件数量过多。应用程序会在启动时尝试加载其中的大部分文件。默认情况下,应用服务上的所有文件都存储在网络共享中(因此加载很多文件可能需要时间)。

1.If 你还没有这样做,你可以尝试延迟加载你的 node_modules 而不是在应用程序启动时加载所有模块. 对于延迟加载模块,应该在第一次执行模块代码之前在函数中实际需要模块时调用 require(‘module’)。看看,这是否有什么不同。

  1. 请检查 Always On -Settings/feature 是否已启用以及是否按预期加载。

  2. 如果可行,启用本地缓存(先测试,如果需要再利用)

本地缓存 - 将网络共享中的内容复制到 VM 上的本地磁盘。由于文件是本地文件,node_modules 的加载时间要快得多。

注意:函数应用或容器化应用服务应用不支持本地缓存,例如 Windows 容器或 Linux 上的应用服务。

  1. 您可以利用 应用服务诊断 获取有关该问题的更多详细信息。