经过一些基准测试后,我意识到每次启动应用程序时,第一个请求都会比下一个请求花费更多的时间。第一个平均为 500 毫秒,接下来的平均为 120 毫秒。
我在 HttpClient 中设置了 cookie,并将 UseProxy 设置为 false。 HttpClient 也已初始化,并发出一个虚拟请求,但不等待它来尝试解决此问题。
有人有一些新想法吗?我正在构建一个 UWP 应用程序。
造成这种情况的原因可能有很多。应用程序池正在预热,正在构建路由,DI 容器可能正在注册对象图,正在发生缓存,正在生成和缓存执行计划,等等。这只是课程的标准并且是预期的。
正如支出者评论中提到的,还有其他问题,例如 JIT 开销和 DNS 查找。
您应该始终假设应用程序需要预热时间。在首次运行时预热应用程序被认为是最佳实践,以确保应用程序的使用者能够快速响应。您无法避免这种预热成本,也不应该尝试这样做。相反,构建您的部署,以便您能够在用户使用应用程序之前预热应用程序,例如适当的负载平衡和服务器轮换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)