这是参考另一个问题Windows azure 平台如何为我的应用程序扩展?声明只有多线程应用程序才能从多核架构中受益。
我的问题是,由于 ASP.NET/IIS(或任何其他 Web 应用程序和 Web 服务器)基本上是多线程的,它不会利用多核吗?
假设该站点是一个简单的 Web 应用程序,具有在页面显示上执行的一些逻辑,而没有显式的多线程实现。
我相信它仅适用于需要实现多线程编程以利用多核的控制台应用程序或时间表,请建议。
这是参考另一个问题Windows azure 平台如何为我的应用程序扩展?声明只有多线程应用程序才能从多核架构中受益。
我的问题是,由于 ASP.NET/IIS(或任何其他 Web 应用程序和 Web 服务器)基本上是多线程的,它不会利用多核吗?
假设该站点是一个简单的 Web 应用程序,具有在页面显示上执行的一些逻辑,而没有显式的多线程实现。
我相信它仅适用于需要实现多线程编程以利用多核的控制台应用程序或时间表,请建议。
IIS 的设计实现充分利用了所有可用的操作系统 CPU 内核。然而,决定选择哪种 VM 大小实际上是特定于应用程序的。我几乎看不到任何比 Medium 更大的东西被用于Web 角色!
最常见的情况是使用小型虚拟机作为 Web 角色,并在不需要时横向扩展至多个实例。我总是建议客户从小型 VM 开始,进行一些性能/负载测试,同时密切监视 VM 以评估是否需要更大的 VM(如果有的话)。从弹性的角度来看,以及持久性,在许多情况下甚至是性能,依赖 4 个 Small VM 而不是 1 个 Large 要好得多!
请记住,以更小的步长(一次 1 或 2 个 CPU 内核,意味着小型或中型 VM)进行扩展总是更容易且成本明智。
这个世界上存在许多业务需求,需要 Web 应用程序上的多线程,例如生成数据并将其插入数据库,通过 AJAX 导出 excel ......如果你不使用小型 VM 和具有强大核心的最小 RAM,如果不能很好地管理您的逻辑并利用硬件,您的 RAM 很快就会用完。