How to configure your load test environment

29 בינואר 2007

תגיות: ,
תגובה אחת

Hi everyone,


This is the first of several posts I intend to submit about the team system for testers.


In this post I will talk about configurating the load test environment.


Load test environment consists of several applications:



  • SQL Server
  • Visual Studio Team For Testers
  • Controllers
  • Agents

Let me explain briefly about each.


SQL server – will hold the load test results. When you are installing the VS Tester you install an SQL server Express. The Express version is limited in the data content it can hold which is 4GB. 4GB in disk space will hold around 20 -24 hours of load test data. So if you designed a load test that will run longer then 20 – 24 hours you must consider installing SQL server Standard or Professional edition. You also need to think if the SQL server will be hosted on a stand alone machine or on a combined machine that will also hold the Visual Studio (for example). Keep in mind, the SQL server is CPU consumer. My advice is that if you got a machine that can host the SQL server alone, use it!


Visual Studio Team For Testers – will be use to develop tests, select tests to run, and view test results.


 Controllers & AgentsGroup of computers, which consists of single controller and one or more agents called in terms of VSTS Rig. You can read more about it in the following link. The Rig will be use to Scale-out load generation, or simply saying it will be use to generate more load on the application under test. By default when you are creating a load test you are in local mode, meaning that you will not be using a Rig. In other words, you will use the local computer for load generation. You can verify the mode you are running by simply go to the Test menu and selecting the Administer Test controller. If in the Controller combo selected value is local and the Agents box is disabled, you are running localy. So, the first question will be when should I use a Rig? To answer that you first need to answer a few other questions:



  • Is there a load balancer?

    • Yes – You need a Rig.
    • No – continue to the next question.

  • Can the Visual studio machine generate sufficient load?

    • No – You need a Rig.
    • Yes – continue to the next question.

  • If you run the load test in a local mode, is your CPU usage above 80%?

    • Yes – You probably need a Rig.
    • No – continue to the next question.

  • If you run the load test in a local mode, do you have enough cache memory?

    • No – You probably need a Rig.
    • Yes – continue to the next question.

  • Is the operating system a factor in the web/load test?

    • Yes – You need a Rig.
    • No – continue to the next question.

  • Can users connect the application under load form different locations?

    • Yes – You probably need a Rig.
    • No – continue to the next question.

  • Do you want to examine the client computers (agents)?

    • Yes – You need a Rig.
    • No – continue to the next question.

So, if you decide that no Rig is needed, here are the configurations available to you:



  1. One machine for SQL server and VS Tester.
  2. One machine for SQL server and another machine for the VS Tester.

My best pick will be number 2. Both the SQL server and load generation are CPU consumers. Running them both in the same machine can have a big impact on the loading that the machine generates and the data sampling during the load. So by seperating them to two defferent machines, I assure that the CPU will be used in one machine to generate load and in the other to insert sampling data to the SQL server.


However, if you do need a Rig, here are your options:



  1. One machine for the SQL server, VS Tester and the controller. One or N machines for the agents.
  2. One machine for the SQL server. One machine for the VS Tester and the controller. One or N machines for the agents.
  3. One machine for the SQL server. One machine for the VS Tester. One machine for the controller. One or N machines for the agents.

I recommend you to use option 2 or 3. I already explained why it is important to Seperate the SQL server to a stand alone machine, but what about the controller and the VSTS? The controller is used to administer the agents and collect test results and It can be a CPU and memory consumer.The VSTS is used to view and monitor the test results and likewise can consume memory and CPU. So, to sum things up, for something on a small scale leaving the controller on the same computer as VSTS would be fine, for more serious load testing moving it on to a seperate computer may be better.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

תגובה אחת

  1. Saurabh1 ביוני 2009 ב 18:33

    Hi,

    Can you offer any help on how to install 2 load agents on a 2 CPU machine?

    Thanks
    S.

    הגב