为 ASP.NET 应用程序提供可伸缩性

伊克巴尔汗

Microsoft 的 Web 应用程序框架 ASP.NET 在开发人员、企业和 IT 队伍中的流行度继续突飞猛进。 然而,有一个困难领域:开箱即用地扩展 ASP.NET 应用程序是不可能的。

在这种情况下,可扩展性有两个含义。 首先,您需要能够有效地处理峰值用户负载,因为每个应用程序在任何时间点登录的用户数量都会经历高峰和低谷。 设计基础架构时,您希望设计应用程序,使其能够像处理非峰值负载一样高效和快速地处理峰值负载。

其次,您必须能够增加系统的总容量。今天您可能只有 5,000 个用户。六个月、一年后,您可能会拥有 10,000、15,000 或 20,000 个用户,几年后您可能会拥有 100,000 个用户。能够随着用户数量的增长而增长而不会使应用程序停止运行,这就是可扩展性的全部内容。这意味着您可以添加更多用户,而不会以任何明显的方式对性能产生负面影响,或者,如果有任何性能下降,也应该在可接受的范围内。

阅读全文

典型的 ASP.NET 应用程序部署在 Web 场中链接在一起的一台或多台 Web 服务器上,并使用负载平衡器将流量分配到所有 Web 服务器。理论上,添加的 Web 服务器越多,每秒能够处理的请求就越多。 Web 场的体系结构旨在为 ASP.NET 提供可伸缩性。这就是理论;现实有点不同。

ASP.NET 应用程序的问题在于,虽然 Web 技术提供了优雅的 Web 场和负载平衡器体系结构,但数据存储技术却没有跟上。当然,您可以通过添加更多服务器或通过使用更多内存和 CPU 能力来增强单个服务器的强度来扩展 Web 应用程序。

但当您这样做时,数据存储无法以相同的比例扩展。它确实可以扩展,但不如 Web 应用程序层那么大。因此,ASP.NET 应用程序中与数据存储或数据访问相关的任何内容都是潜在的可伸缩性瓶颈。更重要的是,数据库服务器无法针对会话或应用程序数据进行扩展。

阅读全文

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。