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…