vCPU如何影响我的.net核心应用程序性能?

时间:2019-03-11 20:11:53

标签: performance .net-core digital-ocean

我会将我的网络核心api项目部署到云托管中,而且,我对选择更好的性能的更好计划感到困惑。

我所有的控制器端点都是异步操作,因此,如果我只有一个vCPU,那么当许多用户同时请求时会发生什么?他们会一次处理吗?

2个vCPU意味着2个并行处理?

1 个答案:

答案 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约束。