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

How vCPU's affect my .net core application performance?

我会将我的网络核心 api 项目部署到云主机,而且,我对选择更好的计划以获得良好的性能感到困惑。

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

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

很遗憾,在不了解您的应用程序的情况下,我无法推荐要搭配的托管计划。

但是我可以告诉你,CPU的数量并不能决定你一次可以接受多少个请求。

.NET 和 .NET Core 都支持多线程和基于任务的异步模式,适用于任意数量的 CPU(甚至 1 vCPU)。有关这些是什么的更多信息,请查看此 Whosebug 问题:Threading vs Task-Based vs Asynchronous Programming

vCPU 的数量可能会影响您的应用程序在 CPU 绑定操作中的性能,通常是在同步算法中。

如果您的应用程序主要是 I/O 绑定,那么增加 vCPU 的数量可能不会对性能产生任何积极影响。

无论如何,您可能想要测试您的应用程序以了解它如何处理各种配置。您可以使用 Visual Studio 探查器查看应用程序中的热点位置,以了解您的应用程序是否受到 CPU/Memory/IO 约束。