使用ASP.NET或Google AppEngine的可扩展应用程序

时间:2010-09-28 16:28:37

标签: asp.net google-app-engine

我有ASP.NET应用程序开发经验。现在我想开发自己的应用程序,它应该支持巨大的流量,它应该是可扩展的。我的网站发布新闻,视频和图片。

已经体验过ASP.NET,是否可以使用ASP.NET或Google AppEngine是否适合构建可伸缩的应用程序?要使用Google AppEngine,我需要从头开始学习所有概念。

请建议我ASP.NET支持是否支持处理繁重的页面请求。

2 个答案:

答案 0 :(得分:4)

asp.net可以很好地处理流量。从技术上讲,大多数现代语言,无论是.net,java,php等,都会处理高负荷。它们之间在执行速度方面的差异很小。

尽管如此,性能的第一个问题与程序员有关。如果他们不理解所有部分如何真正协同工作,要避免的事情,要做的事情等等,那么应用程序,无论语言如何,都不会扩展。

看似琐碎的事情,比如数据分页,如果你没有真正考虑它并且做得对,就绝对会扼杀性能。在这种情况下,“正确”不涉及将所有记录从数据库中提取到Web服务器,挑选出您想要的记录,然后将其发送到客户端......正如相当数量的ORM想要做的那样。

顺便提一下,您可以查看其中一个云服务,而不是机器,而是为您支付处理能力。

答案 1 :(得分:2)

正如克里斯所说,你如何建立它会受到更多的影响。

我不是说它的情况,但是如果你一直忽略了你所使用过的任何一块,那么现在是停下来的时候了。否则你可能会遇到问题。

现在,更多关于特定提示:

  • 视频,图片和任何静态文件。如果这些都是公开的&静态内容,我建议你使用内容分发网络。这些将从服务器中获取所有这些,从而可以完成更多的工作。这也将使内容更接近您的用户/如果您有全球受众(即使是全国受众可能会受益于某些CDN,具体取决于您的位置)。其中一个是亚马逊的云端。
  • 使用云服务托管您的网站。了解它,因此您确信您正在有效地使用所涉及的所有部分/并且知道当您需要更多高级功能时会发生什么。
  • 不依赖于内存会话,并将会话中的数据保持在最低限度。
  • 注意页面大小/及其相关资源。
  • 减少服务单个页面所涉及的请求数量,即大量单独的图像,css和js文件。
  • 减少每个请求的数据库往返次数。当有大量数据时,请确保您的查询响应良好。

PS。很可能是因为关心你周围的表现并不需要任何高级的东西(在将静态文件移出你的服务器之后)。