.NET可扩展性如何?

时间:2020-03-05 18:50:56  来源:igfitidea点击:

(首先,我要说清楚,我不是.NET开发人员,也不与任何其他环境捆绑在一起。)

最近,我听说伦敦证券交易所下跌了整整一天。我还听说该软件是用.NET编写的。到目前为止,在繁忙的日子里,他们会遇到性能下降的情况。人们似乎在指责.NET。

我不想辩论这个故事,但是它让我想到了.NET如何扩展的问题。 .NET太大了?

解决方案

回答

不幸的是,还有很多其他问题可能导致项目随着规模的增长而失败,以至于在归咎于框架之前,我们需要进行大量的努力。而且,除非我们能看到并彻底分析源代码,否则很难说出根本原因是什么。我愿意打赌这不是框架。

不,我不是每天都使用.NET。

回答

为什么.NET在大小上会有其他平台所没有的限制?
我无法想象在任何情况下,.NET都将变得"太大"。
但是,我们应该真正指定要谈论的是.NET winforms应用程序还是ASP.NET以及其他相关因素。这个问题太模糊了,无法详细回答。

你的名字叫" Unix博士",这的确暗示了一些偏见,顺便说一句。

回答

MySpace,Dell.com等许多大型网站都在asp.net上运行。另外,请查看此MSDN文章,该文章为专家们提供了很好的视角。

回答

正确完成后,该架构将大多数瞬态状态卸载到了客户端上,这使得群集变得更加容易,这使其具有了令人惊讶的可扩展性。因此,与直接使用ASP.NET相比,这是整个系统的问题。

我的2美分。

回答

好吧,我认为该站点位于.net框架上。微软网站也在其上构建。因此,我认为,如果操作正确,那么.net站点将可以扩展。查看Jeff关于此站点的一些评论,这些问题往往涉及编码错误或者体系结构问题。

回答

老实说,我认为除了基础架构之外,它还可以归结为代码优化。

在StackOverflow播客19中,Jeff讨论了如何调整SQL Server来处理StackOverflow所具有的各种负载。注意,不是.NET需要在这里进行调整。

还必须注意的是,MySpace.com是目前最庞大的社交网络之一,它在ASP.NET上运行。

MySpace仅使用ASP.NET即可证明其可伸缩性。这将归结为开发人员将如何以最有效地利用该功能的方式编写应用程序。

回答

也许是交易量降低了交易量。

尽管到目前为止给出的许多示例都是不错的,但它们只是大型网站。 (我们讨厌我说"公正")。它们向用户分发页面和偶尔的应用程序(即令人讨厌的)。证券交易所处理买/卖并匹配买者/卖者。应用服务器的工作量将增加几个数量级。

我可以看到数据库崩溃了。

回答

点网扩展性很好。我们有运行IIS服务器以及asp.net网站和应用程序的服务器群集,当用户负载增加时,我们可以轻松地添加服务器以增加容量。这是在某些事件期间发生的,.net体系结构的可伸缩性并没有让我们失望。

我可能会(与其他人一样)猜测这不是.net问题。

回答

这是一本关于这个主题的大书供我们阅读:

改善.NET应用程序的性能和可伸缩性(Microsoft Press)

回答

我们可以编写任何语言都无法扩展的错误代码。

.Net能够扩展到任何规模的系统,但是,就像使用其他任何技术堆栈一样,.NET都必须考虑扩展性。

伦敦证交所在最糟糕的一天下跌了,但是无论我怀疑什么原因,根本的堆栈都是问题所在。我怀疑这是可怜的工人指责他们的工具的情况。

回答

实际上,LSE的停机时间与.NET交易平台完全没有关系:

The LSE said the system had been hit by a "connectivity issue" and insisted that the problem did not lie with its flagship TradElect trading platform.

http://www.itworld.com/networking/54760/london-stock-exchange-trading-stops-network-fails

回答

归结为三点:

  • 计划的进度如何
  • 建造它的人最初的规模目标是什么
  • 维修站正在进行的工作,以改进和扩展解决方案。

之前提到过MySpace,这是众所周知的事实,当他们遇到一个新的扩展步骤时(用户/浏览量/等),他们已经重写了几次应用程序。如果他们选择从头开始构建最新版本,则维护成本将太高,并且基于当前位置和下一个扩展目标,可伸缩性不是具有成本效益的。

最后一件事,尽管它通常被认为是回避的,但固体压力测试可以让我们清楚地了解应用程序如何在用户遇到灾难和灾难来之前应对目标负载。

回答

正如其他人所说,这与平台无关。

重要的是应用程序负载平衡,状态管理,分区等的体系结构。这些不是特定于平台的。

回答

当人们说.NET是一个首选平台时,确实让我感到困扰,因为.NET具有"可扩展性",它的可扩展性几乎没有其他平台:PHP,ColdFusion,JSP或者具有C ++ / Delphi等的本机编译应用程序。这不是框架的功能,而是应用程序设计的功能。

MySpace当然不是提倡可扩展性,而是关注Google搜索或者SETI @ home项目背后的技术。

.NET实际上是我最不喜欢使用的平台,因为它在简化软件方面做得太过分了,以至于有些事情我想做而它却做不到,因此尝试克服.NET的限制会浪费时间。使用C ++或者PHP可以轻松,快速地实现。 .NET是软件开发,而duplo砖是机械工程,没有自尊心的机械工程师不希望被限制为仅使用英寸宽的正方形块。

如果应用程序需要可伸缩,则需要考虑需要在服务器之间共享哪些数据,以及该应用程序运行和实现其用途所需的最少数据量。通常可以通过首先放置超高效代码(例如,.NET或者Java)来避免扩展应用程序的需求,但这通常至少需要对汇编有基本的了解,以及如何将所选语言转换为机器代码。

回答

我经营一个相对较大的asp.net网站,并发现它可以很好地扩展。当然,我将其中的大部分归功于拥有一些出色的工具来诊断和修复代码中的瓶颈。我敢猜测,编码问题会导致人们在任何框架中遇到的问题占99.99%。

回答

以后的新闻...

" TradElect是一种团体交易平台技术,将于今年晚些时候由LSE拥有的斯里兰卡技术供应商MillenniumIT开发的软件取代。" ...

http://www.efinancialnews.com/story/2010-09-13/ex-lse-tech-chief-joins-green-investment-company

此项交易使本集团能够为我们的未来业务发展实施新的,更敏捷,创新和高效的IT能力,并运行一个新的现金交易平台,该平台将显着降低延迟,显着提高容量并改善可扩展性。 ...

http://www.computerworlduk.com/news/it-business/16590/london-stock-exchange-buys-millennium-it-trading-platform-supplier/