我会将我的网络核心api项目部署到云托管中,而且,我对选择更好的性能的更好计划感到困惑。
我所有的控制器端点都是异步操作,因此,如果我只有一个vCPU,那么当许多用户同时请求时会发生什么?他们会一次处理吗?
2个vCPU意味着2个并行处理?
答案 0 :(得分:0)
不幸的是,在不知道您的应用程序的情况下,我不建议您选择哪种托管计划。
但是,我可以告诉您,CPU的数量不会决定您一次可以接受多少个请求。
.NET和.NET Core都支持多线程和基于任务的异步模式,这些模式可在任意数量的CPU(甚至1个vCPU)上运行。有关这些内容的更多信息,请查看以下stackoverflow问题:Threading vs Task-Based vs Asynchronous Programming
vCPU的数量可能会影响应用程序在CPU绑定操作(通常在同步算法中)的性能。
如果您的应用程序主要受I / O约束,那么增加vCPU的数量可能不会对性能产生任何积极影响。
无论如何,您可能需要测试您的应用程序,以查看其在各种配置下的处理方式。您可以使用Visual Studio分析器查看应用程序中热点的位置,以查看应用程序是否受CPU /内存/ IO约束。