【问题标题】:Invite suggestions and guidelines for Load balancing of asp .net application邀请asp.net应用负载均衡的建议和指南
【发布时间】:2009-06-09 16:02:21
【问题描述】:

我有一个 ASP .NET 2.0 Web 应用程序,它是一个在线调查系统。有时它有大量用户,应用程序运行缓慢。

我想为现在在单个服务器上运行的 Web 应用程序做负载平衡。

有没有人推荐我...

  1. 在哪些情况下我应该考虑对我的应用程序进行负载平衡?
  2. 什么类型的应用需要负载均衡?
  3. 负载均衡的优缺点是什么?
  4. 开发以负载平衡为目标的应用程序的指南是什么,
  5. 在不影响性能的情况下,最多有多少并发用户可以访问 Web 应用程序而无需负载平衡?

在我的情况下,应用程序已经开发完成。我应该在哪些方面进行更改以准备负载平衡?

提前致谢。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    首先,您需要确保知道性能的瓶颈在哪里。

    • 如果您可以首先专注于减少每个用户页面加载的总往返时间,那么您将能够处理更多用户。

    • 在您遇到数据库调用瓶颈的情况下,您可以设置更多服务器来平衡您的 Web 应用程序,但收效甚微。

    • 您的网络服务器是否存在带宽问题?对图像、css 和 javascript 文件的请求是否与 Web 应用程序 page_load 请求一样慢?

    • 确保您没有在会话状态中存储太多数据。如果您将列表或其他大型对象存储在内存中,您必须记住,如果您有 10,000 个活跃会话的用户,那么您将使用内存乘以用户数量,从而导致事情很快失控。在某些情况下,最好将状态信息移到用户存储的 cookie 中。

    【讨论】:

      【解决方案2】:

      根据我的经验,软件负载平衡选项是有限的、不一致的和不灵活的。

      当然,在开发应用程序时,您需要确保您的应用程序可以针对web farm scenario 进行横向扩展 - 即确保您使用分布式缓存提供程序、状态服务器等。

      基于硬件的解决方案将提供多种分配负载的方法并且非常一致。考虑使用 NLB/F5 Big-IP 负载平衡器等选项。

      也可以看看 Scott 的这篇文章 - 旧的,但很有用。 http://www.hanselman.com/blog/LoadBalancingAndASPNET.aspx

      谢谢,阿努普

      【讨论】:

        【解决方案3】:

        在哪些情况下我应该考虑对我的应用程序进行负载平衡?

        在当前服务器无法自行处理负载的任何情况下。有两种扩展方式,垂直(购买更好的服务器)或水平(添加更多服务器)。负载平衡是一种水平扩展形式,通常可以让您物有所值,但也更难设置。

        什么类型的应用需要负载均衡?

        这里的答案与 a 几乎相同。

        负载均衡的优缺点是什么?

        优点在于它可以让您扩展。缺点是它引入了独特的问题。

        开发以负载平衡为目标的应用程序的指导方针是什么?

        最重要的是会话。会话状态默认存储在 proc 中,这意味着它只存在于一台服务器上。如果用户有可能在不同的服务器之间被反弹,他们将失去他们的会话。我建议您阅读它here(您可能想要的方式是不要使用会话或使用状态服务器)

        在不影响性能的情况下,最多有多少并发用户可以访问 Web 应用程序而不进行负载平衡?

        完全取决于您的服务器硬件和您的应用程序要求。我相信每个核心有 5 个 asp 工作进程,所以这是一个考虑因素。还需要考虑 RAM 使用情况。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-01-25
          • 2021-07-19
          • 2021-12-07
          • 2017-01-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多