单一的Web应用程序,多个Web服务器

我有一个负载平衡的问题。 我们为近1500名用户开发了一个networking应用程序。 随着用户数量的增加,我们无法及时处理这些请求。 加载一个页面需要大约10到20秒。 在繁重的工作中,可能需要一分钟的时间来处理页面。

我们需要解决这种情况,以便每个请求在2或3秒内完成。

  • 应用程序发展: asp.net
  • 主办: IIS 7.5
  • 机器configuration: Windows Server 2008,8GB RAM1Mbps带宽

亨普斯,你看,从完全错误的方面来看问题。 这是没有必要去多个服务器。

Windows服务器2008 8GB RAM 1MBPS带宽

好的,我们暂时忽略低内存。

1mbit带宽是可悲的。 点。 1500个用户并行过载带宽。 我相信,当checing你会发现你的CPU和Memor和光盘不是问题,但你的带宽是。

把一些负载平衡的Web服务器放在1mbit线后面不会改变这一点。

升级线意味着您的服务器可以在不需要更多硬件的情况下提供更多服务。

获得适当的带宽,事情是好的。 1mbit这些天真的很低。 事实上,对于1500个并行用户服务器来说,这个数字一直很低。 从未工作。 现在的服务器在8位连接上至less占用一个服务器的数量,而在34位数以上的连接上则占用更多。 托pipe服务器不会为您提供技术上less于100mbit。

如果是金钱问题,意识到你完全是在纠正错误的东西。 你需要更多的带宽。

哦,并投票closures – serverfault.com

正如TomTom所说的,在扩展之前,您需要确定当前的瓶颈。 最常见的瓶颈是networking带宽,内存,磁盘性能和CPU。 你需要做一些更多的监测,以找出哪些(或可能是其他)导致你当前的性能问题。

你真的需要在这台机器上进行一些分析来锻炼你的瓶颈。 我同意TomTom的说法,您的可用带宽太低,但是您也需要确保您没有其他问题。

通过一些基本的性能监控,您应该能够在硬件级别看到哪些问题,但由于这是一个内部开发的应用程序,您确定没有编码问题吗? 不知道应用程序本身,我只能猜测,但你有没有优化你的代码和数据库访问,你是否caching在适当的位置,你是否看到某种资源争夺或数据库locking,显然是更多的问题随着用户数量增加等等等等?

可扩展性来自一个体面的硬件设置和一个写得很好的应用程序,两个方面都需要同时考虑。