Highlighted
Absent Member.
Absent Member.
280 views

Errors in Controller

hi friends,

when i execute the script in controller with 300 users ,i will get maximum failed transaction because of connection time out,connection reset by peer,connection refused,connection time out 120 seconds exceeds while waiting to receive data from url,http status code=503 service unavaliable and 500 internal server error.

 

my scenarios design as ,scenario by group, ramp up each 50 user every 15 sec's and ramp down also same as ramp up and duration is 15 minutes.

 

could you please give recommendations to overcome this issues.

 

0 Likes
4 Replies
Highlighted
Absent Member.
Absent Member.

Re: Errors in Controller

Greetings,

 

What kind of scripts are used in the scenario? Also do you use Load Generators? If you are not, add 1 LG machine.

 

There are some settings for the script for time out under Run Time Settings->Preferences->Options.

 

Also if you have verified that the application is able to handle that amount of opened connections.

 

Regards,

Mario M.

HP LR/PC Support

If you are customer you can try posting on our internal forums for more personalized support.

LoadRunner:
http://h30499.www3.hp.com/t5/LoadRunner-Support-Customer/bd-p/loadrunner-support-customer-forum

Performance Center:
http://h30499.www3.hp.com/t5/Performance-Center-Support/bd-p/performance-center-support-customer

How to:
http://www.youtube.com/watch?v=4ChlysWupWM

If you find that this or any post resolves your issue, please be sure to mark it as an accepted solution.
0 Likes
Highlighted
Absent Member.. Absent Member..
Absent Member..

Re: Errors in Controller

It sounds as if you are overloading your web server with too much traffic in too short of a time.  This is of course the intent of load testing but to answer your question you need to ask yourself, "What is the goal of your load testing?"  

 

Are you trying to determine how many users can connect before you start getting these errors?  Slow down the ramp up to 1 user every 5 seconds (total time to ramp up 50 users 250 seconds instead of 15 seconds).  Then when the test is complete cross the errors and running vusers graphs in analysis to see when you start to see the errors.

 

Are you trying to complete a longer load test, where it is more important to see how the server reacts after long periods of time?  Slow dow the ramp up (5 users ever 10 seconds) and make sure that you have realistic think times embedded in the script and make sure that think time is enabled in the run time settings.  If you want to avoid pulses of requests use random think times of 25% - 100% of what was recorded.

 

Have you done a user profile of the application that you are testing?  Is 50 users coming on every 15 seconds a realistic load?  Have you worked with the users of the application to determine how quickly they do tasks?  Most users start a task but they are not machines that pound the keyboard at 1000 keys a minute.  They look at printouts of the data they are entering, they get phone calls, they say hi to the people who walk by their desk.  Most load testers do not consider the user profile and instead create super users who are trying to complete far more transactions per hour that what the server can realistically handle.   

 

You need to build scripts that meet your transaction goals and while it is possible that pounding the system with 50 users every 15 seconds with no think times is within your testing profile this is really just one type of test with what I call a super user.  If this is the goal of your test then you have discovered that your web server is not adequate for your needs.  Add more architecture and possibly a load balancer needs to be added.

 

Next, your test is only 15 minutes, most profiles I have created look at how many transactions you are targetting for a 1 hour or more of testing.  

 

I would suggest that planning realistic ramp up, execution, and ramp down and then adding think times and calculating realistic transaction targets for your test enviornment will allow you to run a test to completion and will allow you to realize when you have hit your environments peak load easier.

 

Hope this helps.   If you need additional assistance I would suggest that you may need additional training on load testing or possibly assisance from Professional Services who can mentor you on load testing best practices, discovery techniques, and analysis.

 

Craig Drummond

HP Premier Support - Technical Account Manager

 

0 Likes
Highlighted
Absent Member.. Absent Member..
Absent Member..

Re: Errors in Controller

Another suggestion.  

 

Are you monitoring the servers that you are testing? The timeout error messages  would suggest that if you are not monitoring and that you have overloaded the server.  Often the timeout errors that you are seeing are because the server you are hitting is totally overloaded with 100% CPU and\or zero avaialble RAM.

 

Even if the CPU or RAM are not overloaded, most  web servers take all the requests they recieve and places them in a queue.  When the software realizes that it will not be able to respond within the timeout (based on its own internal monitoring) it will take requests in the queue that it feels it will not respond to before the timeout and it will immediately reject them with a status 500 (500 - 510) series message.  You need to slow down the number of requests so that the queue does not become overloaded.

 

Craig Drummond

HP Premier Support - Technical Account Manager

0 Likes
Highlighted
Absent Member.. Absent Member..
Absent Member..

Re: Errors in Controller

One final suggestion:

 

Your load test is for 300 users.  Is that what you expect in your production environment?  If so, is your test environment the same size (number of servers, CPU's, Memory, etc) as your production environment?  Most test environments are much smaller than production environments so you need to scale your test so that it is appropriate.  The problem is you must scale many possible factors so it isn't always easy.


An Example of easy scaling:

Production is 4 WebServers with 4 CPU's each & 16GB of RAM

Test is 2 Web Servers with 4 CPU's each & 16GB of RAM

 

Test is as close to 1/2 the size of production as you can probably get.  If your load test is for 300 users in production then exceeding 150 users in test is not a very realistic test.

 

An Example of difficult scaling:

Production is 12 WebServers, each with 2 CPU's but some with 4 but there is a total of 38 CPU's.  Each has at least 8GB of RAM but some have 12, some have 32 but the total RAM is 160GB .

Test is 1 Web Server with 1CPU and 4GB of RAM.

 

Should your test be 1/12th (servers), 1/38th (CPU's), or 1/40th (Memory) the size of production.  This is can be a very difficult task and can really only be answered by running tests in your environment while monitoring the CPU and Memory to ensure that you are not overloading the servers.

 

Load testing is so much more than just writing some scripts and running them in the controller with a bunch of virtual users.  It is a science and requires a lot of effort to get it right.  I hope this helps you find the answers that you need.


Craig Drummond

HP Premier Support - Technical Account Manager

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.