views:

238

answers:

2

Hello,

I have a webtest with makes a simple call to a WebService which looks like that:

MyWebService webService = new MyWebService();

webService.Timeout = 180000;

webService.myMethod();

I am not using ThinkTimes, also the Run Duration is set to 5 minutes. When I ran this test simulating only 1 user, I check the counters and I found something like that:

Tests Total: 4500

Network Interface\Bytes sent (agent machine): 35,500

Then I ran the same tests, but this time simulating 2 users and I got something like that:

Tests Total: 2225

Network Interface\Bytes sent (agent machine): 30,500

So when I increased the numbers of users the tests/sec was half than when I use only 1 user and the bytes sent by the agent was also lower. I think it is strange, because it doesn't seems I have a bottleneck in my agent machine since CPU is never higher than 30% and I have over 1.5GB of RAM free, also my network utilization is like 0.5% of its capacity.

In order to troubleshot this I ran a test using Step Pattern, the simulated users went from 20 to 800 users. When I check the requests/sec it is practically constant through the whole test, so it is clear there is something in my test or my environment which is preventing the number of requests from gets higher.

It would be a expected behavior if the "response time" was getting higher because it would tell me the requests wasn't been processed properly, but the strange thing is the response time is practically constant all the time and it is pretty low actually.

I have no idea why my agent can't send more requests when I increase the numbers of users, any help/tip/guess would be really appreciate.

A: 

If your requests per second are constant and with the total tests remaining constant despite the number of virtual users, the bottleneck could be the webservice itself only being able to service a set number of requests at a time.

Nat
Thanks for your answer Nat, I run 2 tests at the same time but in different PCs, both are hitting the same webservice and I noticed both have the same requests/sec they had when they are running alone.Also I launched a VM with VSTS in my PC, I start a test from that VM and from a VSTS in my own pc at the same time and both had the same requests/sec that they had when running alone, so I think maybe it is a bottleneck in my agent rather than a bottleneck server-side.Also, I think this test can tell me there is no bottleneck in the network because my PC and my VM share the same NIC.
Carlos
After that I launched 2 VSTS in my pc and started the same test, this time the requests/sec was halved.It seems there was some kind of limitation per VisualStudio or per system, but I am not sure what is causing this limitation.
Carlos
Carlos, instead of trying to launch VSTS instance on 2 machines, why don't you try creating a load test?
HashName
My first test was a load test running in only one agent, I launched 2 instances of VSTS in order to understand what was going on, if it was something limiting my test in server side or in my agent as Nat suggest. This test showed it was not my server because with 2 instances of VSTS in different machines (physical ones or virtual) the webserver could handle the same requests/sec.
Carlos
A: 

I am facing the same problem, were u able to solve this...if yes please let me know the solution

nik
I still didn't understand what happened that time, but I am not doing load tests in webservers for a while. If I have a new tip I will post here.
Carlos