Problem with connectionperuser ??

Hi,

I am running a load test with one web test present and i have various think times of between 5 and 20 seconds between requests. I have a constant load of a 100 users and am using connectionperuser as my webtest connection model.

My problem is that my requests/sec starts off at approx 40 and over 30 minutes more or less linearly reduces to approx 1-2 requests/sec. If i change to connectionpool my request/sec stays more or less constant. The load on the server is approx 30-40 %. Is there some checks i can do on the client side to see why my request/sec is reducing or is there something obvious i am missing. Is it possibly that tcp resources on the client side are not being released. Also the client is not being overloaded in anyway either regarding processor or memory.

Regards



Answer this question

Problem with connectionperuser ??

  • KRS India

    I notice that in all of these log entries there have been 54 requests completed before the web test hangs so perhaps the problem has something more to do with the 55th request in the web test than with connections being released. Actually, by default there is no timeout for web test requests (which I agree seems strange), but there a Timeout property that can be set on each web test request (either in the web test editor or in code if you are using a coded web test). I suggest you set the timeout to something like 2 minutes for either all of your requests or any that you think might be taking a long time. Assuming that your pages have dependent requests, it might be tricky to determine which is the 55th request in the web test, but you might be able to do that by running the web test standalone and counting the requests, or run a web standalone from a different Visual Studio instance when the load test is running (and gets into this state) and see if and where the standalone web test hangs.

    Another thing you could try is to use ConnectionPerUser mode (in the LoadTest's run settings) if you are not already doing so. I don't think this will keep web tests from hanging, but if each virtual user has their own connection then one web test hanging will not block other web tests.

    Hope this helps,
    Bill


  • Charles Darwin

    Are you using a controller and agents If so, did you reboot the agent machines after installation

  • r_currie

    Hi Bill,

    Sorry for the delay with my reply, i did what you said and i got the following in the logfile which possibly explains why the number of requests was decreasing as some of the webtests had not completed fully

    I wonder do i have some TCP release of connections issue Surely i should get an error if a request times out after 5 minutes or something

    [W, 3104, 41, 2006/06/28 16:40:05.671 171877114790] vstesthost.exe: WebLoadTestAdapter: WebTest 'LoginUpdatePublishSite' (53) has not completed a request in 00:03:55.5625000 seconds. Requests Completed: 54 Failed: 0 Active: 1 Pending: 0 Thinking: 0 Connection: Connection-53
    [W, 3104, 41, 2006/06/28 16:40:05.671 171877115109] vstesthost.exe: WebLoadTestAdapter: WebTest 'LoginUpdatePublishSite' (45) has not completed a request in 00:03:54.1718750 seconds. Requests Completed: 54 Failed: 0 Active: 1 Pending: 0 Thinking: 0 Connection: Connection-45
    [W, 3104, 41, 2006/06/28 16:40:05.671 171877115396] vstesthost.exe: WebLoadTestAdapter: WebTest 'LoginUpdatePublishSite' (44) has not completed a request in 00:04:18.6718750 seconds. Requests Completed: 54 Failed: 0 Active: 1 Pending: 0 Thinking: 0 Connection: Connection-44
    [W, 3104, 41, 2006/06/28 16:40:05.671 171877115656] vstesthost.exe: WebLoadTestAdapter: WebTest 'LoginUpdatePublishSite' (56) has not completed a request in 00:03:52.0625000 seconds. Requests Completed: 54 Failed: 0 Active: 1 Pending: 0 Thinking: 0 Connection: Connection-56
    [W, 3104, 41, 2006/06/28 16:40:05.671 171877115938] vstesthost.exe: WebLoadTestAdapter: WebTest 'LoginUpdatePublishSite' (55) has not completed a request in 00:03:53.0468750 seconds. Requests Completed: 54 Failed: 0 Active: 1 Pending: 0 Thinking: 0 Connection: Connection-55
    [W, 3104, 41, 2006/06/28 16:40:05.671 171877116225] vstesthost.exe: WebLoadTestAdapter: WebTest 'LoginUpdatePublishSite' (81) has not completed a request in 00:02:23.8125000 seconds. Requests Completed: 54 Failed: 0 Active: 1 Pending: 0 Thinking: 0 Connection: Connection-81
    [W, 3104, 41, 2006/06/28 16:40:05.671 171877116515] vstesthost.exe: WebLoadTestAdapter: WebTest 'LoginUpdatePublishSite' (14) has not completed a request in 00:06:03.5781250 seconds. Requests Completed: 54 Failed: 0 Active: 1 Pending: 0 Thinking: 0 Connection: Connection-14


  • AndrewSn

    The guy that will have the best ideas is out of the office till Monday. We will have some more ideas then.

  • Craig Cormier

    Hi Folks,

    Just wondering has anyone ideas on this problem

    Thanks.


  • Godwin Larry

    Hi slumley,

    its a single processor machine.


  • robcw

    First a few questions:

    1) Are you getting any errors shown on the Errors table in the Load Test results viewer

    2) Is there a significant number of "Cached Requests" (the total for cached requests is shown in the Summary section of the Load Test results viewer)

    3) What is the average response time for requests when requests / sec drops to 1-2 / sec

    Also, I suggest you turn on logging for the process that is executing tests to see if gives any additional info. Try the following:

    1) Open the VSTestHost.exe.config. This is located in "\Program Files\Microsoft Visual Studio 8\Common7\IDE"

    2) Paste the following xml in the file:

    <system.diagnostics>
    <trace autoflush="true" indentsize="4">
    <listeners>
    <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\VSTestHost.log" />
    </listeners>
    </trace>
    <switches>
    <!-- You must use integral values for "value". Use 0 for off, 1 for
    error, 2 for warn, 3 for info, and 4 for verbose. -->
    <add name="EqtTraceLevel" value="4" />
    </switches>
    </system.diagnostics>

    3) Save file and run test

    This will create a log file called VSTestHost.log on the Cdrive. You can change this by modifying the initializeDate Attribute above. Please run test and look for errors in the log (errors will be on lines starting with "[E").


  • taral

    no i am not using controller/agents, just have the one test client machine.
  • Urs Enzler

    Is the machine that is generating the load a multi processor machine

  • Problem with connectionperuser ??