高流量ASP.NET MVC编码注意事项

时间:2011-10-30 14:00:45

标签: asp.net asp.net-mvc-3 scalability

我几次被问到以下问题并觉得我可以有更好的答案,所以我在这里转发它,希望能找到更多资源,博客书籍或编写可扩展MVC3 C#代码的指针。如果您有关于编写跨多个服务器托管的性能更好的代码的任何指示,我将非常感激。为了争论,我们可以说这将是每天预计会有超过10-20K命中率的代码。

问题: 在编写分布在多个服务器上的可伸缩代码时,您考虑了哪些编码注意事项?

我的直觉告诉我答案在于处理会话。我在过去几年的背景是编写服务和表单应用程序而不是Web应用程序,所以我正在寻找可以帮助我进行Web应用程序特定开发的信息,特别是对于C#MVC3。你建议的任何博客或书籍我都会深入研究!

1 个答案:

答案 0 :(得分:2)

实现可伸缩Web应用程序的一个规则是让它们成为无状态。会话是应该抛出的第一件事,因为这正是使应用程序有状态的原因。如果你有一个完全无状态的应用程序,你可以在流量增加时抛出硬件,应用程序将能够处理它。首先,在web.config中添加以下行:

<system.web>
    <sessionState mode="Off" />
    ...
</system.web>

问题现在将出现在数据层上,因为这是国家所处的位置。因此,为了提高性能并限制对此节点的请求数量,将使用缓存。尽可能多地缓存数据。优选地,将该缓存存储在与Web服务器不同的机器上。用于缓存的专用机器。

相关问题