我想问一下以下应用程序的最佳设置:

ASP.NET 3.5网站 - 用作表示层,很多AJAX和JS。不会对服务器造成太大影响。

ASP.NET WCF - 为应用程序提供所有数据的服务。它负责验证,数据建模/准备以及与DB Server的通信。

数据库 - SQL Server 2005 Std,某些逻辑在服务器端编码为存储过程。一些逻辑可能有点耗时。在我看来,它是应用程序中消耗资源最多的部分。

该网站每分钟最多可拥有1000个用户。我们可以在以下配置中配置多达4台服务器:Intel Bi Xeon Quad 8x 2.00+ GHz,16 GB RAM,SSD或RAID驱动器。

将部分应用程序放在物理服务器上的最佳方法是什么?他们会处理这种负担吗?

有帮助吗?

解决方案

在您描述的应用程序中,我怀疑线程管理将成为一个大问题。在这个问题上投掷硬件可能不是最好的方法。

在分区方面,它取决于您是否可以利用缓存和缓存通知等内容。如果对应用程序的每次调用都必须访问数据库并运行冗长的存储过程,那么您可能希望拥有更多的数据库计算机和更少的前端Web服务器。

这是一个很大的主题。为了对这类问题提供一个相当全面的答案,我最后写了一本关于它的书:超快ASP.NET:使用ASP.NET和SQL Server构建超快速和超可伸缩的Web站点

其他提示

任何应用程序中可扩展性较低的地方都是数据库服务器,您可以添加更多Web服务器和应用程序服务器,但是您无法轻松复制数据库,因此如果数据库不包含任何逻辑,您将从长远来看受益长期运行的逻辑。在很多应用程序中,限制因素不是cpu而是内存考虑用户会话如果你为每个用户存储1mb数据,你的应用程序将能够支持64,000个silmantanius用户会话,这可能就足够了。使用应用程序级缓存可以缓解这两个问题,但这可能会导致问题集,因为现在您遇到了陈旧的数据。要扩展基于会话的站点,您需要使用支持粘性会话的智能负载平衡器解决方案,对于负载,您很可能需要硬件负载平衡器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top