考虑到Azure的可扩展性,ASP.NET网站是否已经多线程?

时间:2013-03-25 08:49:55

标签: asp.net azure

这引用了另一个问题how does windows azure platform scale for my app?,表明只有多线程应用程序才能从多核架构中受益。

我的问题是,由于ASP.NET / IIS(或任何其他Web应用程序和Web服务器)基本上是多线程的,它不会占用多核的优势吗?

假设该站点是一个简单的Web应用程序,其中一些逻辑在页面显示上执行而没有显式的多线程实现。

我认为只有控制台应用程序或计划只需要实现多线程编程才能利用多核,请提供建议。

2 个答案:

答案 0 :(得分:1)

IIS的设计实现充分利用了OS CPU内核的所有可用性。但是,它确实是特定于应用程序,以决定选择哪个VM大小。我几乎看不到比用于 Web角色的Medium更大的内容!

最常见的情况是将Small VM用于Web角色,并在不必要时扩展到多个实例。我总是建议客户从小型VM开始,在密切监控VM的同时进行一些性能/负载测试,以评估是否需要更大的VM(如果有的话)。从弹性的角度来看,以及耐用性,以及在许多情况下甚至是性能,依靠4个小型虚拟机而不是1个大型虚拟机更好!

请记住,使用较小的步骤(一次使用1或2个CPU核心,即小型或中型VM)进行扩展总是更容易,而且成本更低。

答案 1 :(得分:0)

这个世界上存在许多需要Web应用程序上的多线程的业务需求,例如生成数据并将其插入到DB中,通过AJAX导出excel ...使用小型VM和具有强大内核的最小RAM,如果你不能很好地管理你的逻辑并利用硬件,你的RAM很快就会耗尽。