One of the frequently asked questions at
the India Windows Communication Foundation Tour was how
does WCF scale as compared to existing technologies, like ASMX?
Will WCF services be more scalable than the ones we author today? What do we
have to do for better scale?
I thought of doing some very basic performance tests
to get some data for these questions. The test was done to compare
how ASP.NET 2.0 WebServices perform against WCF services. I did
these tests on my machine which has 2GB RAM, 60GB
HDD and running Windows XP SP2 and IIS 5.1. They were done against NOV
CTP of WinFX, building the WCF service using VS 2005 RTM under the debug
mode. Below are the results of the same.
Disclaimer: These results are
not, by any means, definitive and are just the output of the tests I
did. WCF continues to evolve and by the time it is released, the results could
vary. You may have different results.
The following are the properties of the
tests:
- Entities tested were ASP.NET 2.0
WebService with BasicProfile 1.1 WebServiceBinding on IIS
5.1 and the WCF self-hosted console executable service (debug
mode) with BasicHttpBinding enabled.
- Three types of load tests were created using
VSTS
- Starting with 10 user load till maximum 250
users, incrementing users by 50 every 10 seconds
- Starting with 10 user load till maximum 1000
users, incrementing users by 50 every 10 seconds
- Constant load of 500 users
Test ASP.NET 2.0 webservice can be download from
here, and Test WCF
service can be downloaded from here.
Starting with 10 user load till maximum
250 users, incrementing users by 50 every 10 seconds
ASP.NET 2.0 WebService:

WCF Service:

Result: WCF handles 51.2% more average test cases per second than
ASMX with 4.38 times faster average test time.
Starting
with 10 user load till maximum 1000 users, incrementing users by 50 every 10
seconds
ASP.NET 2.0
WebService:

WCF
Service:

Result: WCF handles 56.79% more average test cases per second
than ASMX with 18.82 times faster average test
time.
Constant
load with 500 users
ASP.NET 2.0
WebService:

WCF
Service:

Result: WCF handles 124.11% more average test cases per second
than ASMX.
More tests to
follow...