首页 > 解决方案 > Azure App Servce 的 .Net Core 3.1 Web API 延迟问题

问题描述

我有一个基于 Asp.net core 2.1 Web API、Angular、Azure SQL Server DB、Entity Framework 2.1.4 的 Web 应用程序。该应用程序托管在 Azure AppService 中(请假设 URL 为“abctest.azurewebsites.net”)。我还配置了一个自定义域(将其称为“abctest.com”)。该应用程序运行良好,没有任何问题。

我尝试将这个“.net core 2.1” Web API 迁移到“.net core 3.1”。我还将我的 EF 版本从“2.1.4”升级到“2.2.6”。在本地环境中一切正常。但是在我将此构建发布到我的 Azure App 服务后,我遇到了如下所述的一些问题。

更新记录后,API 有一些延迟来返回结果

直接的 azure 网站 URL(“abctest.azurewebsites.net”)不会发生此问题:它工作正常,没有任何问题。但是当应用程序在“.net Core 2.1”中运行时,它可以在 Azure 站点 URL 和自定义域 URL 中正常工作。

如果有人能够帮助解决这里的问题,那将非常有帮助。

标签: c#azure

解决方案


如果仅使用自定义域的性能(非常)差,则可能是 DNS 设置不正确,或者托管在(非常)慢的 DNS 主机上。当然,它可能完全是另外一回事。

以下几点可以帮助您确定问题:

  • 检查您的 Web 应用程序中是否有任何逻辑可能被重试或等待通过域名连接到它时没有得到的响应。
  • 检查 DNS 的速度,例如使用 Ultratools 的 DNS 速度测试。

DNS 托管速度工具将为您提供 DNS 树中每个级别的宝贵 DNS 性能信息,以帮助进行性能评估和性能故障排除。

  • 从命令行运行它并查看有关如何访问您的域的信息:

    nslookup 设置调试

  • 考虑将 Cloudflare 之类的服务添加到您的网站。

保护和加速您的网站、应用程序和团队。

  • 在您的自定义域上运行 webhint(或任何其他让您深入了解的工具)。

它不仅仅是性能:

webhint 是一个可定制的 linting 工具,可通过检查代码的最佳实践和常见错误来帮助您提高网站的可访问性、速度、跨浏览器兼容性等。

查看 rickvdbosch 的相同答案 -应用自定义域后 Azure 上的 Web 应用程序加载缓慢


推荐阅读