思诚科技 seecen LOGO
咨询热线:0791-87557233
  首页 |   Java EE  
关于思诚
关注官方微信

宠物店大战 (J2EE 与 .NET)

来源:网络    更新时间:2014-12-11


PetvsPet:MSopens.netbenchmarkingwars
原作者AndrewOrlowskiinSanFrancisco

Microsoft认为.NET目前已经成熟到可以放到效能测试的第一线战场上了。成熟并非是效能战争上的一个字眼。

这场战争的主角是Sun所设计的范例程序宠物商店(PetStore),这个范例程序被用来在大部分的场合中展示Java2EntERPriseEdition应用程序的可携带性,以及跨平台性。

http://java.sun.com/J2EE/blueprints

而Microsoft也建立了自己的宠物商店范例

http://www.msdn.microsoft.com/net/compare/petshop.ASP

,并且号称这个.NET版本(也许叫做.PET?)的野兽商店所使用的程序代码的行数比起Java宠物商店来得少,同时它的效率也是Java版的28倍。另外,他也暗示了同样是网络上背景式的搜寻以及图片等等的显示能力等,他耗掉较少的CPU。

Microsoft使用Oracle的Appserverbenchmark

http://otn.oracle.com/tech/java/oc4j/content.html

,以及一个未知的ApplicationServer来当作J2EE的前端介面。Oracle则使用8i的版本,Micorsoft使用SQLServer但是却说在这个范例中,它的数据存放在Oracle上。

在Oracle/J2EE的范例中,他"很公平"的使用了Sun的旧硬件,包括了4-wayE3500(AppServer用),以及一个10-wayUltra(Solaris2.6)来执行数据库。Microsoft使用了一个2-wayProLiant来执行appserver(?)以及一个4-way550
MhzProLiant来执行.NET版本的野兽商店数据库。

Sun描述这个野兽商店是一个"高度唬人的战术运用"

Sun告诉我们的是,J2EE宠物店是一个范例程序用来展示几个可靠的designpatterns(MVC...),同时他并非为了效能而设计。

这个J2EE版本的应用程序并没有为了效能而做过调整。Micorsoft号称由Oracle所测式的版本是个最佳化过并且校调过Java宠物店。

然而,Oracle的白皮书中很清楚的描述着"宠物店并非设计来在实际的商业环境中执行的,因此在它的效能与能够负载的工作量上,还需要实际上的修改才可以真的被使用"。

我们可以在http://www.javalobby.com/message/show/frm/javalobby?children
=true&folderId=20&discussionContextId=11040&messageId=86577

找到由RayCromwell的详细的反驳资料,他指出,在这个宠物范例中,有太多的抽象类别在内,几乎没有人会根据Sunblueprints写出这样的程序,因为这个范例几乎是OO设计中的最高阶了。

另外一个直接的线索是.PET的效能来至于它的设计者,ScottStanfield,在MSDN里面有着:.PET的demo实际上是产品里面非常细微的一部份而已。

J2EE并不是MicrosoftGotDotNet在这一个战争中的唯一部份(GotDotNet是一个设计得像SourceForgeFreshMeat的社群开发群MSDN只是他们的前端接口的多种选择之一)Microsoft同时也把魔掌伸向IBM的WebSphereappserver,IBM已经在http://www.ibm.com/software/webservers/studio/MSNetreview.html反驳。

为什么大家的声音都这么愤怒呢?嗯,Microsoft很清楚的企图使用效能来当作行销手段上的一个重点。Microsoft的sales(WindowsVPBrianValentine)已经正式的向totattooanti-Linuxintelligenceontheirbacksides求助,要求更多关于.PET的实际效能数据等等。

但是效能测试的战术运用很容易引起反对意见,Microsoft在好几年前曾经在VisualBasic的测试上很大胆的尝试过,也引起了极大的反弹。Microsoft发表了测试数据,同时表明了VB的效能胜过Delphi。在他们的范例中,Microsoft的应用程序使用了localcall,而他们在Delphi的测试中,却很奸诈的去一个远程的数据库搜寻,当然,让VB在这样的测试环境中胜过Delphi好几千倍并不让人吃惊。

当两者的架构都很类似的时候,也许有人可以试图说服我们.NET在本质上快过J2EE。.NET也许会快一些,也许不会,每一个竞争者都可以在不同的平台上去校调,或者在这个Java的例子中,我们也可以重新设计compile过来提供原来所应有的效能,但是我们绝对不会靠着架构的不同,来自夸效能的优异。

  • 上一篇文章:

  • 下一篇文章:
  •  

    0791-87557233

    重视每个来电 珍惜您的时间
    思诚者开发沙龙
    江西思诚科技有限公司  赣ICP备17006097号  CopyRight©2014 - 2018