We want to do load testing for our wcf services and we are considering LOAD UI from www.soapui.org and Load testing support in Visual Studio 2010 Ultimate. I want to know what you guys think of them, if any of you any experiences and think one is better than the other.
2 回答
I am a user of Visual Studio Load Testing since 2 years, and I find it very powerfull and easy to use. Load testing is not limited to WCF : you can load test your integration tests, a web site, a database, ... in fact, everything. Because it is a MS application, it is also fully compatible with all MS products : it's easier to call a WCF service from a unit test than another technology (how to test nettcpbinding ?). You can also use the Visual Studio Profiler for instrumenting your code (and see what line of code is expensive or ADO.net interactions). You can also easily extend the load testing by many extensibility points.
One important thing is that VS laod testing is "intrusive". It will note only collect response time, request lengths, ... but also all performance counters, database queries, ... All this metrics are saved in a dedicated database like SQLExpress for reporting. There is an AddOn for Excel.
Juste one important note (available for all load testing solutions !) :
You can run load tests from a developer machine or even a single dedicated machine, but you usually can't generate enough traffic to really see how the application responds (you machine can simulate 500 concurrent users because of limited CPU/Memory/Network) . In order to simulate a lot of users, you'll set up what is known as a Load Test Rig.
A test rig is made up of a Test Controller machine and one or more Test Agent machines as shown in Figure 1. The controller manages and coordinates the agent machines and the agents generate load against the application. The test controller is also responsible for collecting performance monitor data from the servers under test and optionally from the test rig machines.
The only real requirement is Visual Studio Ultimate 2010 or 2012 (no changes). But as @chrismead said, Visual Studio 2010 Ultimate allows you to stress test your application with 250 virtual users. However, with the Visual Studio 2010 Load Test Feature Pack, active Visual Studio Ultimate with MSDN subscribers are provided a license key to generate UNLIMITED virtual users without having to purchase the Visual Studio Load Test Virtual User Pack 2010/2012.
Personnaly, I have never used loadUI even if I am a soapUI user. Maybe because I don't have the needs.
You might want to create some sample tests using Visual Studio. In the past (even with Ultimate), I found that Microsoft will disable all but one of your processors unless you buy something called a Test Pack or something like that.
I personally use SoapUI itself for load testing and not LoadUI. I was enthusiastic about LoadUI and gave it a try, but could not get it to work properly with my SoapUI project. If you do try out LoadUI, you might want to compare it against the load test features in SoapUi as well because in my opinion LoadUI is not mature enough yet.