ibm websphere_WebSphere与.NET:IBM和Microsoft携手并进

ibm websphere

在执行了许多基准测试之后,Microsoft得出结论说.NET比WebSphere提供了更好的性能和性价比。 IBM驳斥了Microsoft的发现,并进行了其他测试,证明WebSphere优于.NET。 微软对此做出了回应,拒绝了IBM的某些虚假陈述,并在不同的硬件上重复了测试,得出了不同的结果。

摘要

微软已经对.NET和WebSphere进行了基准测试,并发布了基准测试源代码,运行规则,使用规则和调查结果报告,该报告发表在wholoveswindows.com上,标题为“ 在IBM Power6和AIX上对IBM WebSphere 7进行基准测试,在HP BladeSystem和Windows Server 2008上对Microsoft .NET进行基准测试”。 。 该基准测试显示,与在AIX 5.3上使用WebSphere相比,在Windows Server 2008上使用WebSphere 7时,每秒事务处理(TPS)的速率更高,成本/性能比也更高;在Windows Server 2008上,在相同WebSphere上使用.NET时,则具有更好的结果。操作系统。 使用的应用程序基准的成本/性能比为:

带有WebSphere 7和AIX 5.3的IBM Power 570 带有WebSphere 7和Windows Server 2008的HP BladeSystem C7000 装有.NET和Windows Server 2008的HP BladeSystem C7000
$ 32.45 $ 7.92 $ 3.99

IBM驳斥了微软的基准测试,并称他们的某些说法是虚假的,并且执行了不同的基准测试,结果也有所不同。 随测试结果一起使用的基准发布在基准测试和BEATING Microsoft的.NET 3.5 with WebSphere 7中! (PDF) 。 基准测试的源代码尚未发布。 结果显示,WebSphere是比.NET更好的中间层,对于一个应用程序基准,TPS增加36%,对于IBM标准基准之一,吞吐量提高176%至450%。

微软对IBM做出回应,并通过对IBM白皮书《基准测试和击败带有WebSphere 7的Microsoft .NET 3.5的白皮书》的回应来捍卫其主张和基准测试结果(PDF) 。 微软还重新运行了他们的基准测试,并对其进行了修改,使其包含与IBM在其测试中使用的测试流程类似的不同测试流程,并在不同的硬件,单个多核服务器上运行该测试流程,并发现WebSphere确实比.NET更好。使用IBM的测试流程,但效果略好一些,介于3%和6%之间,而不是IBM报告的那样。 除此之外,由于基准测试是在不同的硬件配置上运行的,因此这些后来的发现并没有改变原始的发现。 最后,微软邀请IBM“一个独立的实验室来执行其他测试”。

Microsoft针对WebSphere测试.NET

微软进行了一系列测试,比较了三种不同平台上的WebSphere / Java和.NET。 基准测试的详细信息和测试结果已发布在白皮书上,该白皮书标题为IBM®Power6™和AIX上的IBMWebSphere®7和Hewlett Packard BladeSystem和WindowsServer®2008上的Microsoft®.NET(PDF)

测试平台:

  1. 在AIX 5.3上运行IBM WebSphere 7的IBM Power 570(Power 6)
    • 8个4.2 GHz的IBM Power6内核
    • 32 GB内存
    • AIX 5.3
    • 4 x 1 GB NIC
  2. 在Windows Server 2008上运行IBM WebSphere 7的Hewlett Packard BladeSystem C7000
    • 4个Hewlett Packard ProLiant BL460c刀片
    • 一个四核英特尔®至强®E5450(3.00GHz,1333MHz FSB,80W)处理器/刀片
    • 32 GB RAM /刀片
    • Windows Server 2008/64位/刀片
    • 2 x 1 GB NIC /刀片
  3. 在Windows Server 2008上运行.NET的Hewlett Packard BladeSystem C7000
    • 与上一个相同,但是经过测试的应用程序在.NET而非WebSphere上运行。

每个平台上进行了三个测试:

  1. 贸易网络应用基准测试
    测试的应用程序是IBM的Trade 6.1和Microsoft的StockTrader 2.04 。 该系列测试评估了在上述平台之上运行的完整数据驱动的Web应用程序的性能。 访问的网页有一个或多个由业务层所包含的类提供服务的操作,通常以同步数据库调用结束。
  2. 交易中间层Web服务基准测试
    该基准旨在衡量Web服务层执行最终数据库事务中的操作的性能。 该测试类似于Web应用程序,但是操作是单独计数的。
  3. WS测试Web服务基准测试
    该测试类似于上一个测试,但是没有业务逻辑也没有数据库访问权限。 它基于最初由Sun设计并由Microsoft增强的WSTest工作负载。 服务层提供了3个操作:EchoList,EchoStruct和GetOrder。 由于没有业务逻辑,该测试仅测量了Web Service软件的原始性能。

使用了两种数据库配置,一种用于全IBM平台,另一种用于其他两种:具有用于数据访问的IBM DB2 V9.5 JDBC驱动程序的IBM DB2 V9.5企业版和SQL Server 2008数据库企业版。 为在HP BL680c G5刀片服务器上运行的每种配置设置了两个数据库:

  • 4个四核Intel XEON CPU,@ 2.4GHZ(每个刀片中16个内核)
  • 64 GB内存
  • 4个1GB NIC
  • IBM DB 9.5企业版64位或Microsoft SQL Server 2008 64位
  • Microsoft Windows Server 2008 64位企业版
  • 2个4GB HBA,用于通过光纤/ SAN访问EVA 4400存储

该存储已在HP StorageWorks EVA 4400磁盘阵列上保护:

  • 总共96个15K驱动器
  • 4个逻辑卷,每个包含24个驱动器
  • 数据库服务器1:用于日志记录的逻辑卷1
  • 数据库服务器1:数据库的逻辑卷2
  • 数据库服务器2:用于日志记录的逻辑卷3
  • 数据库服务器2:数据库的逻辑卷4

Web应用程序基准测试使用了32台运行测试脚本的客户端计算机。 每台机器都模拟了数百个具有1秒思考时间的客户。 这些测试在SUT#1和#2上使用了IBM Trade 6.1应用程序的改编版,在SUT#3上使用了Microsoft的StockTrader应用程序。

image

对于Web Service和WSTest基准测试,Microsoft使用了10个客户端,其思考时间为0.1秒。 对于WSTest,未访问数据库。 Microsoft已使用WCF为WebSphere 7和JAX-WS创建了一个与WSTest兼容的基准,并在C#中为.NET创建了另一个基准。

image

Microsoft的白皮书包含有关如何进行测试的更多详细信息,包括数据库配置,使用的数据库访问,缓存配置,测试脚本,使用的调整参数等。

结论

下表列出了基准测试结果,包括成本/性能比:

带有WebSphere 7和AIX 5.3的IBM Power 570 带有WebSphere 7和Windows Server 2008的HP BladeSystem C7000 装有.NET和Windows Server 2008的HP BladeSystem C7000
中间层系统总成本 $ 260,128.08 $ 87,161.00 $ 50,161.00
贸易网络应用基准 8,016 TPS 11,004吨 12,576 TPS
成本/性能 $ 32.45 $ 7.92 $ 3.99
贸易中间层Web服务基准 10,571 TPS 14,468 TPS 22,262 TPS
成本/性能 $ 24.61 $ 6.02 $ 2.25
WSTest EchoList测试 10,536 TPS 15,973 TPS 22,291 TPS
成本/性能 $ 24.69 $ 5.46 $ 2.25
WSTest EchoStruct测试 11,378 TPS 16,225 TPS 24,951 TPS
成本/性能 $ 22.86 $ 5.37 $ 2.01
WSTest GetOrder测试 11,009 TPS 15,491 TPS 27,796 TPS
成本/性能 $ 23.63 $ 5.63 $ 1.80

根据Microsoft的基准测试结果,在Windows Server 2008的HP BladeSystem上运行WebSphere的效率比在AIX 5.3的IBM Power 570上运行WebSphere的效率高30%左右。 .NET / Windows Server 2008配置甚至比WebSphere / Windows Server 2008更加高效,成本/性能比下降到一半,并且比WebSphere / Power 570 / AIX小10倍。 第一个平台的性价比很高,因为整个中间层的价格都超过25万美元,而性能却低于其他平台。

Microsoft的基准测试白皮书 (PDF)包含一个附录,其中包含有关硬件和软件成本的完整详细信息。 StockTrader网站上发布了所使用的基准测试,包括源代码。

IBM的反驳

在另一篇论文中, 使用WebSphere 7对Microsoft .NET 3.5进行基准测试和测试! (PDF) ,IBM拒绝了微软的基准测试,并创建了另一个表明WebSphere性能优于.NET的基准。

微软曾说过StockTrader与IBM的Trade应用程序类似:

Microsoft在用户功能以及中间层数据库访问,事务和​​消息传递行为方面创建了一个在功能上与IBM WebSphere Trade应用程序等效的应用程序。

IBM拒绝了微软的主张:

该应用程序声称与IBM WebSphere Trade 6.1示例应用程序“在功能上等效”。 从任何意义上讲,它都不是应用程序的“端口”。 几乎没有移植任何原始应用程序设计。 Microsoft已将此应用程序展示为展示其专有技术的使用。 这主要表明,.NET StockTrader应用程序不是通用访问的Web应用程序,因为只能使用Internet Explorer而不是其他Web浏览器来访问它。

此外,IBM表示,Trade并非旨在基准化WebSphere的性能,而是为了

作为示例应用程序,说明了WebSphere中包含的功能部件的用法以及它们与应用程序性能的关系。 此外,该应用程序还作为示例,使开发人员可以探索WebSphere的调优功能。

IBM还有其他关于微软基准测试的投诉:

Microsoft创建了一个全新的应用程序[StockTrader],并声称在应用程序级别具有等效功能。 现实情况是,与最初设计为可移植且通用的应用程序Trade 6.1的原始版本不同,该应用程序的Microsoft版本使用专有SQL语句来访问数据库。

他们采用客户端脚本将某些应用程序功能转移到客户端。

他们通过在WebSphere服务器和客户机之间插入不必要的HTTP服务器来测试Web服务功能。

而且,如果这还不够的话,他们将无法正确监视和调整WebSphere Application Server以达到最佳性能。

IBM的竞争项目办公室团队(CPO)已将StockTrader 2.0移植到WebSphere,从而创建了CPO StockTrader,并宣称:“我们所做的移植忠实地再现了Microsoft的应用程序设计。 目的是要实现苹果与苹果之间的比较。” 因此,Microsoft将Trader 6.1以StockTrader的名称从WebSphere移植到.NET,然后由IBM以CPO StockTrader的名称再次移植回WebSphere。 IBM将CPO StockTrader与StockTrader进行了基准比较,并针对.NET获得了针对WebSphere的更好结果:

image

IBM还告知他们正在使用Friendly Bank,这是一个旨在将WebSphere对照.NET进行基准测试的应用程序。 在此测试中,WebSphere多次优于.NET:

image

在他们的StockTrader与CPO StockTrader基准测试中,IBM使用了脚本来模拟用户活动:“登录,获取报价,购买股票,出售股票,查看账户投资组合然后注销”,并在压力模式下运行而无需思考时间。 模拟了36个用户,足以驱动每个服务器以最大的吞吐量和利用率。 返回的数据经过验证,错误被丢弃。

在一种情况下,前端是用WebSphere 7 / Windows Server 2008实现的,在另一种情况下是用IIS 7 / Windows Server 2008的.NET 3.5实现的。 后端数据库是Windows Server 2003上的DB2 8.2和SQL Server 2005。

用于测试的硬件是:

性能测试工具硬件
X345 8676服务器
2 X 3.06 GHz英特尔处理器,具有超线程技术
8 GB RAM
18.2 GB 15K rpm SCSC硬盘驱动器
1 GB以太网接口
应用服务器硬件
IBM X3950服务器,8 x 3.50 Ghz,具有超线程技术的Intel Xeon处理器,64 GB RAM
数据库服务器硬件
X445 8670服务器,8x 3.0 Ghz。 具有超线程技术的Intel Xeon处理器,16 GB RAM
UltraSCSI 320控制器,EXP 300 SCSI扩展单元,配置为2个RAID阵列的14x 18.2 GB 15K rpm硬盘驱动器。
一个用于日志,一个用于数据库,每个阵列由Raid 0配置的7个硬盘组成。
以太网网络骨干
隔离的网络硬件包括3个3Comm SuperStack 4950交换机和一个运行在1 GB上的3 Comm SuperStack 4924交换机。

友好银行基准测试的软件和硬件配置与StockTrader相似。

IBM的白皮书包含有关Friendly Bank应用程序的信息,但未指向源代码。 它还提到该应用程序最初是为.NET Framework 1.1设计的,只是在.NET 3.5上重新编译而未进行更新以使用最新技术。

微软对IBM反驳的回应

微软已经在另一份白皮书《 IBM对白皮书的标题为基准化和击败带有WebSphere 7的Microsoft .NET 3.5的白皮书》的回应中回应了IBM的反驳。 在本文档中,Microsoft捍卫了其原始基准测试结果,并确认IBM在其反驳文档“ 基准测试和测试Microsoft.NET 3.5与WebSphere 7”中提出了一些虚假主张 ,并且IBM无法使用适当的基准测试过程。 更多信息已发布在wholoveswindows.com上

基本上,微软说以下说法是错误的:

  • IBM声称: .NET StockTrader不能忠实地复制IBM Trade应用程序功能。
    Microsoft回应:此说法是错误的; .NET StockTrader 2.04忠实地复制了IBM WebSphere Trade应用程序(使用标准的.NET Framework技术和编码实践),并且可以用于.NET 3.5和IBM WebSphere 7之间的公平基准比较。
  • IBM声称: .NET StockTrader使用客户端脚本将处理从服务器转移到客户端。
    Microsoft回应:此声明是错误的,.NET StockTrader应用程序中没有客户端脚本。
  • IBM声称: .NET StockTrader使用专有SQL。
    Microsoft的回应: .NET StockTrader使用为SQL Server和/或Oracle编码的典型SQL语句; 并为两者提供数据访问层。 IBM WebSphere 7 Trade应用程序类似地使用为DB2和/或Oracle编码的JDBC查询。 两种实现均不使用存储过程或函数。 所有业务逻辑都在应用程序服务器中运行。 在两个应用程序中都使用了简单的预先准备SQL语句。
  • IBM声称: .NET StockTrader没有被编程为可普遍访问的瘦客户端Web应用程序。 因此,它只能在IE上运行,不能在Firefox或其他浏览器上运行。
    Microsoft的回应:实际上,.NET StockTrader Web层被编程为可普遍访问的纯瘦客户端Web应用程序。 但是,
    使用HTML注释标签会导致Firefox中的问题; 这些注释标签正在更新,以允许ASP.NET应用程序在任何行业标准的浏览器(包括Firefox)中正确呈现。
  • IBM声称: .NET StockTrader加载错误。
    Microsoft的回应:这是错误的,并且本文档包括进一步的基准测试和Mercury LoadRunner详细信息,证明此IBM声明为错误。

此外,微软还抱怨说,IBM早在几年前就已经使用过时的技术为.NET Framework 1.1开发了Friendly Bank:

IBM的Friendly Bank基准测试使用过时的.NET Framework 1.1应用程序,其中包括已淘汰多年的DCOM等技术。 该基准应该完全打折,直到Microsoft有机会使用ASP.NET,事务和Windows Communication Foundation(WCF)TCP / IP二进制远程更新(将DCOM替换为首选的远程处理技术)。

微软认为IBM没有提供CPO StockTrader和Friendly Bank应用程序的源代码而失败,并重申了本案例中涉及的Microsoft 基准应用程序的所有源代码均已公开。

微软还注意到,IBM使用了经过修改的测试脚本,“其中包括更加强调购买,还包括了销售操作”。 Microsoft使用IBM修改后的测试脚本流程重新执行了基准测试,该流程包括在单个4核应用程序服务器上在Login,Portfolio,Logout旁边进行买卖的操作,确认

这些测试基于IBM的修订脚本,旨在满足IBM响应文件中概述的其中一些IBM反驳测试用例。 不应以任何方式将它们视为对我们原始结果的更改(在不同的硬件和不同的测试脚本流程上执行); 因为原始结果仍然有效。

进行了测试:

应用服务器 数据库
1台HP ProLiant BL460c
1个四核Intel Xeon E5450 CPU(3.00 GHz)
32 GB内存
2个1GB NIC
Windows Server 2008 64位
.NET 3.5(SP1)64位
IBM WebSphere 64位
1台HP ProLiant DL380 G5
2个四核Intel Xeon E5355 CPU(2.67 GHz)
64 GB内存
2个1GB NIC
Windows Server 2008 64位
SQL Server 2008 64位
DB2 V9.7 64位

测试结果显示WebSphere和.NET具有相似的性能。

image

IBM的投诉之一是,微软在WebSphere前面插入了不必要的HTTP Web服务器,从而减少了每秒的事务处理数量。 Microsoft承认这一点,但补充说:

在原始基准测试文件中已充分讨论了此HTTP Server的使用,并根据IBM自己的WebSphere最佳实践部署指南进行了此操作。 在这种设置中,IBM建议使用IBM HTTP Server(Apache)作为前端Web服务器,然后将请求路由到IBM WebSphere Application Server。 在我们的测试中,我们将此HTTP与Application Server共同放置在同一台计算机上。 这等效于.NET / WCF Web服务测试,在该测试中,我们将WCF Web服务托管在IIS 7中,并在同一位置的IIS 7 HTTP Server将请求路由到处理WCF服务操作的.NET应用程序池。 因此,在这两个测试中,我们都使用IBM HTTP Server(Apache)作为WebSphere / JAX-WS服务的前端来测试了等效的设置。 Microsoft IIS 7作为.NET / WCF服务的前端。 因此,我们支持所有原始结果。

Microsoft在另一个四核服务器上没有像上一个那样在一个中介HTTP Web服务器上执行中间测试WSTest,并获得了以下结果:

image

微软在单台服务器上进行的两项测试均表明,与.NET相比,WebSphere的性能略有优势,但没有IBM在其论文中假装的那么多。 除此之外,微软表示,IBM没有对中间层成本比较发表评论,这对微软非常有利。

微软继续挑战IBM

在一个独立的实验室与我们[Microsoft]会面,以对.NET StockTrader和WSTest基准测试工作负载执行附加测试,并对基准测试中测试的中间层应用服务器进行价格分析。 此外,我们邀请IBM竞争响应团队来到我们位于雷德蒙德的实验室,以供他们讨论并在其审查下进行讨论和进行其他测试。

定论

通常,基准包括

  • 工作量
  • 一组描述如何处理工作负载的规则-运行规则-
  • 试图确保遵守运行规则并正确解释结果的过程

基准测试通常旨在比较两个或多个系统,以确定哪个系统更适合执行某些任务。 公司还使用基准来测试其硬件/软件,然后通过测试不同的调整参数和测量结果或发现一些瓶颈来改进其硬件/软件。 基准还可以用于营销目的,以证明某个系统比竞争对手的系统具有更好的性能。

最初,使用基准测试来衡量系统的硬件性能,例如CPU处理能力。 后来,创建了基准来测试和比较SPEC MAIL2001之类的应用程序,甚至是SPECjAppServer2004之类的应用服务器。

没有完美的基准。 可以调整工作负载以支持某个平台,或者可能会误解或错误地推断数据。 令人信服的是,基准必须尽可能透明。 工作负载定义应该是公开的,并且如果可能的话,应该让感兴趣的人可以使用源代码。 一组明确的运行规则是强制性的,因此其他各方可以重复相同的测试以亲自查看结果。 结果的解释方式及其含义必须公开。

我们不知道IBM对Microsoft的上一篇论文的回应。 看到他们的React会很有趣。 可能最好的清除方法是让IBM公开其测试的源代码,以便任何有兴趣的人都可以测试并亲自了解真实情况。 在此之前,我们只能推测这些基准的正确性和有效性。

翻译自: https://www.infoq.com/articles/WebSphere-Windows-.NET-Debate?topicPageSponsorship=c1246725-b0a7-43a6-9ef9-68102c8d48e1

ibm websphere

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值