我在哪里可以了解网站负载平衡?

时间:2015-07-29 17:01:51

标签: asp.net-mvc load-balancing

我的初始网站在测试期间不会遇到大量流量。但是假设成功,当流量构建时,我将需要实施计划来处理增加的流量,从知道它到实际处理它。我现在想开始学习。

但是网上有大量关于此的信息。我希望有人可以通过指向我正确的方向来帮助我切断大量的信息,文章/演练/等等更实用,更少理论化?当然,任何关于这个问题的直接指导肯定会受到赞赏。

我目前正在使用托管服务提供商,而不是运行我自己的IIS服务器。

2 个答案:

答案 0 :(得分:3)

预测缩放瓶颈的位置非常困难。例如,如果您缺少数据库索引,查询可能运行缓慢,并且对Web服务器进行负载平衡将无济于事。

首先,您应该熟悉应用程序的分析。后端有很多很棒的工具,包括Visual Studio ProfilerANTS Profiler和我最喜欢的dotTrace

接下来(或者首先,没关系),您需要分析客户端。 Chrome Developer Tools效果很好,或者您可以使用新的Firefox Developer。这将显示响应时间以及加载资产所需的时间,例如CSS / Javascript / Images /等。

完成这两项工作后,您应该知道问题出在哪里。但总的来说,改进扩展的“最简单”方法是:

  • Bundle/minify/compress your asset files。您可以从页面加载中删除数百KB。
  • Use a CDN。浏览器在域中受限于它们可以获取资产的同时连接数。使用CDN,您可以在域之间拆分请求,对于像jQuery这样的流行库,它们更有可能已经被缓存。
  • 根据需要缓存数据。如果某些静态内容永远不会发生变化,请对其进行缓存,而不是每次都查询数据库。利用Output Caching之类的东西,缓存整个渲染视图。
  • 查看this post中的部分核对表项目。

一旦你采取了所有这些步骤,如果你仍然遇到问题,那么你可以看看负载平衡和更好的硬件等问题。否则,你可能会把钱扔掉,因为它可能根本不会产生任何影响。

答案 1 :(得分:1)

熟悉Web应用程序的各个方面非常棒。但是,负载平衡是设置起来很棘手的事情之一,但如果没有非常全面的服务器和网络架构知识以及体验,几乎不可能设置正确 >。即便像Twitter和Facebook这样的大男孩也在努力处理规模问题。这是一个非常重要的学习过程,非常特别适合个人情况。对于一个应用程序来说绝对完美的设置可能对另一个应用程序完全没用。

如果您的成功足以需要负载平衡,那么您可能也会成功地聘请基础架构专家来为您处理。除此之外,您可以利用Azure等服务,虽然它们有自己的学习曲线,但几乎可以提供开箱即用的负载均衡。