处理高流量的.NET网站的最佳方法

4
我管理的其中一个网站将会从一个非常高流量的网站链接过来。因此,在接下来的几天里,我计划升级我的设置,以确保它能够处理这种高流量负载。我的当前设置是一台32位机器,配备4GB RAM,Win Server 2K8,IIS7,SQL Server 2K5,并且是同一个国家的专用Web服务器,预计将有大量的流量。它配备了一个2MBPS的租用线路连接。这个服务器专门为我的网站服务,数据库也在同一个网站上(目前如此)。该网站(基本上是一个ERP应用程序)与数据库交互频繁,并且还包含相当多的图形。
在这种情况下,处理约10K-15K数量级的流量的最佳方法是什么?

从某种意义上说,这个问题可能更适合在服务器故障网站上讨论,关于如何确保您的服务器能够处理负载。但是你也应该在这里提出,因为有一些事情可以做,以确保你的网站不会使用过多的资源。 - Maxim Zaslavsky
我找到的最好的博客对我的生产网站非常有用。 请参考此链接 - Praneeth
2个回答

4

测试它。

向您的服务器发送10k-15k个请求(每天?每分钟?每秒钟?),观察其行为。测量,然后采取适当的行动。这篇.NET应用程序性能测量有点过时,但仍可从其中的信息中获得不错的收益(显然并非全部过时,甚至在2010年仍被一些人推荐)。


预计每天的流量会是这样。 (所以理论上只有大约8小时的流量) - Maggi
每天15k还不算什么。每秒10个请求。即使是与SQL Server共享资源的x86框架上的IIS也应该能够处理它。 - Remus Rusanu
每天15k不是10每秒,而是每分钟吧? :) - Maxim Zaslavsky
@Mxim:是的,那是每分钟10个。 - Remus Rusanu

3
正如我在上面的评论中所说的,确保您的服务器能够处理高流量既是与应用程序相关的问题,也是与服务器相关的问题。
以下是一些有助于提高网站效率的提示:
- 使用数据缓存和输出缓存 - 您应该将数据库查询的结果,特别是那些密集的查询,缓存到 HttpRuntime.Cache 中,并使用 OutputCache 属性缓存单个页面的输出。 - 削减重负载资源 - 确保您的资源受到控制,例如数据库连接/上下文、线程等。此外,更改数据库查询方式可能会有所帮助。 - 进行测试 - 正如 Remus 所说,测试非常重要。发送大量请求并观察结果! - 审核您的网站 - 查看哪些方法使用最多的资源且时间最长,并尝试改进它们。 此外,Google Chrome 的 Inspector 工具现在还具有审核功能,可能会为您提供一些有关如何使网站更有效的好建议。 - 启用 GZip 压缩 - 这将有助于减少网络负荷,而对效率影响不大。
祝您好运!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接