Gregory Leake Microsoft Corporation May 15, 2009 Agenda What is .NET StockTrader? Architecture comparison between .NET Service and Java Infrastructure Interoperability Benchmarks, pricing data Capacity Planner Demo.

Download Report

Transcript Gregory Leake Microsoft Corporation May 15, 2009 Agenda What is .NET StockTrader? Architecture comparison between .NET Service and Java Infrastructure Interoperability Benchmarks, pricing data Capacity Planner Demo.

Gregory Leake
Microsoft Corporation
May 15, 2009
Agenda
What is .NET StockTrader?
Architecture comparison between .NET Service
and Java Infrastructure
Interoperability
Benchmarks, pricing data
Capacity Planner Demo
.NET StockTrader Goals
Focus on service-orientation
Demonstrate the performance and scalability that can be achieved with Windows Communication
Foundation
Demonstrate open interoperability with non-Microsoft platforms, including over WS-* Advanced Web
Services protocols
Incorporates best-practice .NET and WCF programming techniques for high performance
Benchmark kit for testing alternative design decisions
Many configurable options
Configure different physical deployment topologies
Configure different backend databases (SQL Server, Oracle)
Configure different WCF protocols and encoding standards
Configure different transaction models (ADO.NET, System.Transactions)
More
Learning sample application
Building service-oriented applications with WCF
Advanced WCF programming techniques
Proper n-tier design with clean separation of UI, business logic and DB access
Re-usable code blocks
Includes separate configuration service
Use of SQL Server backend repository for configuration data
Allows for management of configuration data across distributed services
Load balancing, failover, configuration synchronization across load balanced nodes
Can be implemented in any application/service
Key Components of Sample
Install Goal: About 5 minutes to fully working composite application
.NET StockTrader Composite Web Application
.NET StockTrader Business Services
.NET StockTrader Order Processing Service
.NET StockTrader Smart Client (WPF)
Configuration Service 2.0 libraries/test harness samples
.NET forms-based data loaders
SQL Server
Oracle
DB2
Capacity Planner Benchmark Tool
Includes .NET and Java implementations of additional WSTest benchmark workload
Windows XP/SP2, Windows Vista, Windows Server 2003, Windows Server 2008
Extensive Documentation and step-by-step tutorials
IBM WebSphere Trade Logical Design
Standard Web Browser
WebSphere .Trade6 Application
JSPs + Java Servlets
Web Service Interface
Direct Activation
Trade6.1 Middle Tier Service
Operations
Java Stateless Session Bean
Trade6 Data Access Layer 1:
Trade6 Data Access Layer 2:
“EJB” Mode: IBM Recommended BestPractice
“Direct” Mode
EJB Entity Beans with
Container-Managed Persistence 2.0
DB2 Trade
Database
Direct JDBC Queries in a Java Class, no
CMP Entity Beans
Oracle Trade
Database
Service Tier creates/transforms Java
“Model” objects representing
database information; these are
passed between middle-tier services
and Servlets/UI layer
Core Model Classes
Exposed via Web
Services
AccountDataBean
Class
AccountProfileDataBean
Class
HoldingDataBean
Class
MarketSummaryDataBean
Class
OrderDataBean
Class
QuoteDataBean
Class
.NET StockTrader Logical Design
Service Model Classes
User Interface
Transformed For Display
Web Application Layer (UI)
UI / Account
Profile
ASP.NET
ASP.NET
ASP.NET
Web Forms
Web Forms
ASP.NET
Web
Forms
Web Forms
Service
Client Class
UI /
Holding
UI / Total
Holdings
Middle Tier Business
Services
Middle-Tier Business Services Layer (BSL)
UI /
Account
UI / Holdings
Sorted,
Subtotaled
UI / Order
Class
UI / Market
Summary
UI /
Quote
Business Transactions
Core StockTrader
Services Class
Core Model Classes
Exposed via Web
Services
Order Processing
Service Class
Data Access
Data Access Layer (DAL)
Market Summary
Class
Customer Class
Account
Table
Trade
Database
(SQL Server 2005,
Oracle 10G)
Account
Profile
Table
Orders Class
Quote
Table
Holdings
Table
Orders
Table
Account Profile
Class
Account
Class
Holdings
Class
Market
Summary Class
Orders
Class
Quote
Class
IBM Trade 6.1 Web Application
Java Server
Pages
.NET StockTrader Web Application
ASP.NET
2.0
Web Service Client
Web Service Client
Web Service Interface
Web Service Interface
IBM WebSphere Java EE
Microsoft .NET 3.5
Enterprise Java
Beans
C# Middle Tier
Components
JDBC
ADO.NET
DB2 V9.5
Oracle 11G
SQL Server 2005
Oracle 11G
.
.NET StockTrader Smart Client
Windows Presentation Foundation
Web Service Client
Web Service Interface
IBM WebSphere Java EE
Web Service Interface
Microsoft .NET 3.5
Enterprise Java
Beans
C# Middle Tier
Components
JDBC
ADO.NET
DB2 V9.5
Oracle 11G
SQL Server 2005
Oracle 11G
WSO2 Web Services Framework for PHP
http://wso2.org/interop/stocktrader
PHP Web Application
Apache Axis2/C
Web Service Client
Web Service Interface
IBM WebSphere Java EE
Web Service Interface
Microsoft .NET 3.5
Enterprise Java
Beans
C# Middle Tier
Components
JDBC
ADO.NET
DB2 V9.5
Oracle 11G
SQL Server 2005
Oracle 11G
Windows Communication Foundation
Using WS-* Advanced Web Services
For Message-level Security
WSO2 Services:
http://wso2.org/interop/stocktrader
WS-* Interface
WSO2 Web Services
Framework for PHP
PHP Data
Access
WS-* Interface
WSO2 Web Services
Application Server
JDBC Data
Access
MS SQL Server 2005
Other RDBMs
WS-* Interface
.NET C# WCF
Service
ADO.NET
Data Access
Benchmark Overview
Platforms Compared
IBM Power 570 and AIX running IBM WebSphere 7
Hewlett Packard BladeSystem and Microsoft Windows Server 2008
running IBM WebSphere 7
Hewlett Packard BladeSystem and Microsoft Windows Server 2008
running Microsoft .NET
Middle-Tier Workloads Compared
IBM Trade Web Application Benchmark
IBM Trade Web Services Benchmark
Sun Microsystems WSTest Benchmark
Metrics
Performance measured in peak throughput achieved
Cost of Platforms as tested
Price-performance ratios ($ cost per TPS)
Testing Details
All source code published/freely downloadable
Full disclosure benchmark report
Test methodology
Tuning details
Pricing details
Capacity Planner Tool
Turnkey tool customers can use to compare different
platforms on their own
Provides performance and price-performance metrics
All available at http://msdn.microsoft.com/stocktrader
The Tests
Trade Web Application Benchmark
Based on IBM’s Trade benchmark application for WebSphere
Migrated to Microsoft .NET
Tests overall performance of a data-driven, transaction-oriented Web
application
Trade Middle Tier Web Services Benchmark
Based on IBM’s Trade benchmark application for WebSphere
Migrated to Microsoft .NET
Tests middle-tier Web Service performance comparing WebSphere
7/JAX-WS to Microsoft .NET/Windows Communication Foundation
(WCF)
WSTest Web Services Benchmark
Based on Sun Microsystems-defined WSTest benchmark
Tests middle-tier Web Services isolating Web Service and XML
serialization performance (JAX-WS vs. WCF)
Overview Of Results
Total Hardware +
Operating System
Costs
Middle Tier
Application Server
Licensing Costs
Total Middle Tier
System Cost as Tested
Trade Web Application
Benchmark Sustained
Peak TPS
Trade Middle Tier
Web Service
Benchmark Sustained
Peak TPS
WSTest EchoList Test
Sustained Peak TPS
IBM Power 570 with
WebSphere 7 and
AIX 5.3
Hewlett Packard
BladeSystem C7000
with WebSphere 7
and Windows Server
2008
Hewlett Packard
BladeSystem C7000
with Microsoft .NET
and Windows
Server 2008
$215,728.08
$50,161.00
$50,161.00
$44,400.00
$37,000.00
$0.00
$260,128.08
$87,161.00
$50,161.00
8,016 transactions per
second
11,004 transactions per
second
12,576 transactions
per second
10,571 transactions per
second
14,468 transactions per
second
22,262 transactions
per second
10,536 transactions per
second
15,973 transactions per
second
22,291 transactions
per second
Trade Web Application Benchmark
IBM Trade for WebSphere 7
Java Server Pages (JSPs)
Java Servlets
Direct JDBC access to IBM DB2 9.5
Microsoft .NET StockTrader
ASP.NET
Web Forms
Direct ADO.NET access to Microsoft SQL Server 2008
Middle-tier application servers tested to ~100% CPU
utilization in all cases
Accurately measures IBM WebSphere 7 and Microsoft .NET
server performance with no artificial or external bottlenecks
Trade Web Application Benchmark Test Bed
Trade Web Application Benchmark Performance
Trade Web Application Benchmark Price-Performance
Discussion Points
Microsoft .NET vs. IBM WebSphere 7
HP BladeSystem with .NET/Windows Server 2008 57% better
throughput than IBM Power 570/WebSphere 7
Yet WebSphere 7/Power 570 is over 5 times more expensive than
HP/.NET/Windows Server 2008 as tested
IBM WebSphere 7 on Power6/AIX vs. IBM WebSphere 7 on
Windows Server 2008
HP BladeSystem with WebSphere 7/Windows Server 2008 37% better
throughput than WebSphere 7/IBM Power 570
Yet WebSphere 7/Power 570 is over 3 times more expensive than
HP/WebSphere 7/Windows Server 2008 as tested
Trade Middle Tier Web Services Benchmark
IBM Trade for WebSphere 7
Trade Business Services exposed via JAX-WS
Backing business logic
Direct JDBC access to IBM DB2 9.5
Microsoft .NET StockTrader
Trade Business Services exposed via .NET/WCF
Backing business logic
Direct ADO.NET access to Microsoft SQL Server 2008
Middle-tier application servers tested to ~100% CPU
utilization in all cases
Accurately measures IBM WebSphere 7 and Microsoft .NET
server performance with no artificial or external bottlenecks
Trade Middle Tier Web Services Benchmark Test Bed
Trade Middle Tier Web Services Benchmark Performance
Discussion Points
Microsoft .NET vs. IBM WebSphere 7
HP BladeSystem with .NET/Windows Server 2008 by 111% better
throughput than IBM Power 570/WebSphere 7
Yet WebSphere 7/Power 570 is over 5 times more expensive than
HP/.NET/Windows Server 2008 as tested
IBM WebSphere 7 on Power6/AIX vs. IBM WebSphere 7 on
Windows Server 2008
HP BladeSystem with WebSphere 7/Windows Server 2008 37% better
throughput than WebSphere 7/IBM Power 570
Yet WebSphere 7/Power 570 is over 3 times more expensive than
HP/WebSphere 7/Windows Server 2008 as tested
WSTest Web Services Benchmark
Benchmark originally created by Sun Microsystems
Isolates Web Service performance
No business logic
No data access
Measures SOAP network stack performance and XML serialization
performance
WSTest for WebSphere 7
Web Services based on JAX-WS
WSTest for Microsoft .NET
Web Services based on .NET 3.5 and WCF
Middle-tier application servers tested to ~100% CPU utilization
in all cases
Accurately measures IBM WebSphere 7 and Microsoft .NET server
performance with no artificial or external bottlenecks
Trade Middle Tier Web Services Benchmark Test Bed
WSTest Web Services Benchmark Performance
Discussion Points
Microsoft .NET vs. IBM WebSphere 7
HP BladeSystem with .NET/Windows Server 2008 at least 112% better
throughput than IBM Power 570/WebSphere 7
Yet WebSphere 7/Power 570 is over 5 times more expensive than
HP/.NET/Windows Server 2008 as tested
IBM WebSphere 7 on Power6/AIX vs. IBM WebSphere 7 on
Windows Server 2008
HP BladeSystem with WebSphere 7/Windows Server 2008 52% better
throughput than WebSphere 7/IBM Power 570
Yet WebSphere 7/Power 570 is over 3 times more expensive than
HP/WebSphere 7/Windows Server 2008 as tested
Conclusions
Dramatic findings illustrate large potential cost savings
Migrate IBM WebSphere 7 to Windows Server 2008
from IBM Power6/RISC platforms
Save up to 2/3 of overall cost and get better performance!
(on systems as tested)
Utilize Microsoft .NET for best performance and lowest
cost of middle tier platform
Save up to 4/5th of overall cost and get the best
performance overall (on systems as tested)
Complete benchmark report, sources
http://msdn.microsoft.com/stocktrader
Complete an
evaluation on
CommNet and
enter to win!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.