Skip to main content
 首页 » 编程设计

c#之如何修复 azure web 应用程序上 asp.net mvc 中加载缓慢的操作

2024年02月05日30zhengyun_ustc

自从我们迁移到 Azure Web 应用程序后,我们注意到对我们的 asp.net mvc 应用程序产生了巨大的性能影响。我们注意到的一件事是,当一个 Action 在几个小时内第一次加载时,请求时间会显着减慢。我们的应用程序使用不多,所以有很多空闲时间。我举几个例子(请注意这些只是后端请求响应时间,不包括dom、js、图像等加载时间):

  1. 用户仪表板 - 第一个请求大约需要 20 秒。后续加载时间约为 1 秒
  2. 正在加载一些对象 - 第一个请求大约需要 7 秒。刷新会让你大约 2 秒。在第一次点击该 Action 后,使用相同的 Action 加载其他对象也会更快

我意识到某些加速可能是由于查询缓存,但我想知道是否仅此而已。我使用的是标准计划并且确实启用了“始终在线”,所以我知道这不是问题所在。这似乎是每个 Action 都在发生的。因此,即使用户已经访问了 action1 并且现在是第一次访问 action2,他们仍然会遇到缓慢的情况。

我可以在这里寻找什么来修复?是否有任何特定于 Azure 的设置?

请您参考如下方法:

请按如下所示运行您的查询:

`--你的查询在这里

去

从 sys.dm_exec_session_wait_stats 中选择 * 其中 session_id = @@spid 按 wait_time_ms desc 排序`

最后的 SELECT 语句将向我们提供第一次运行花费如此多时间的原因。

这可能是在较低层上运行的大型查询的 IO 性能不佳。

希望这对您有所帮助。