扩展托管的ASP.NET应用程序

时间:2010-09-01 01:06:09

标签: asp.net iis scalability scaling

我们目前正在完成基于ASP.NET和WCF(针对不同桌面客户端)的基于Web的时间跟踪软件。我们的客户可以注册一个帐户并向其帐户添加无限数量的用户。定价与公司帐户中的活动用户数相关联。

为了保持简单和易于扩展,我们认为如果我们将每个帐户设计为一个具有自己的应用程序池,SQL-Server数据库和子域的IIS网站,那么这将是一个很好的架构决策。

不幸的是,由于单个工人流程消耗至少150mb这一事实,我们很快就会遇到内存不足的问题,这意味着我们需要大约每个试用帐户。 200mb更多的记忆...

除了这种架构(试用账户!)的沉重成本之外,我们还不确定这是否是一个很好的扩展决策,以这种方式设计架构。

  1. 你会如何设计呢? SAAS的应用程序?
  2. 许多网站的单一应用程序池?
  3. 使用共享数据库的多个帐户的单个网站?
  4. 通过水平缩放(更多服务器)垂直缩放(更多功率)?
  5. 关于此主题的任何好书或博客?
  6. 谢谢!

1 个答案:

答案 0 :(得分:1)

为每个帐户创建新网站和应用程序池的原因是什么?

具有共享数据库的单个站点(列表中的数字3)是一个更容易扩展的解决方案。然后,您可以在需要时扩展Web或数据库服务器的数量。该架构用于例如Sharepoint和大多数公共网站。