2010-09-28 26 views
1

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

在ASP.NET中已经有了经验,使用ASP.NET还是Google AppEngine可以很好地构建可伸缩应用程序吗?要与Google AppEngine一起移动,我需要从零开始学习整个概念。

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

回答

4

asp.net可以处理流量很好。从技术上讲,大多数现代语言,无论.net,Java,PHP等将负责高负载。它们之间关于执行速度的差异很小。

这就是说,性能的头号问题与程序员有关。如果他们不了解所有部件如何真正一起工作,需要避免的事情,需要做的事情等,那么应用程序(不管语言如何)都不会扩展。

看似平凡的事情,比如数据分页,如果你没有真正考虑并且做得对,绝对会导致性能下降。在这种情况下,“正确”并不涉及将数据库中的所有记录提交到Web服务器,挑选出您需要的记录,并将这些记录发送给客户端...作为相当数量的ORM想要执行的操作。

顺便提一下,您可以签出您支付处理能力的云服务之一而不是机器。

+0

+1这么真实:“性能的第一个问题与程序员有关” – eglasius 2010-09-28 18:00:56

2

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

我不是说它的情况,但如果你一直忽略了知道你已经使用过的任何部分,那就是停下来的时候了。否则,你可能会遇到问题。

现在,更具体的上提示:

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

ps。有可能通过关心你周围的性能并不需要任何先进的东西(在将静态文件移出服务器之后)。

+0

+1,很棒的信息。 – NotMe 2010-09-28 18:20:36

相关问题