File Server Stress Test Tool

  1. File Server Stress Test Tool Kit
  2. Microsoft Stress Test

By: John Sterrett | Updated: 2012-07-18 | Comments (15) | Related: More >Testing


Problem

Heavyload is a System Utilities Benchmarking software developed by JAM Software GmbH. To stress your PC or server, HeavyLoad writes a large test-file to the temp folder, it allocates physical and virtual memory, performs complex calculations and it draws patterns in its window. To reinforce the previous point: never run a stress test over a Wifi connection or worse, a remote server. The bandwidth and latency of a Wifi are horribly slow and bad for these kind of tests. Remember the point of these stress tests is assessing the performance of the server and custom Extension, not the network. Free Booter Free Booter is a free IP Stresser tool made for you to stress test your servers without spending a cent on it. We provide powerful stress test generating 5Gbps each. Our stress tests are amplified with the DNS protocol for best results.

I have a stored procedure and I need to add additional stress and test thestored procedureusing a random set of parameters before it can be pushed to production. I don'thave a budget for stress testing tools. Can you show me how to accomplish thesegoals without buying a third party tool?

Solution

Yes, theSQLQueryStresstool provided byAdam Machaniccan be used to apply additional stress when testing your stored procedures. Thistool can also be used to apply a dataset as random parameter values when testingyour stored procedures. You can also read more about SQLStressTest on the toolsdocumentation page to find more details about how you can use the tool.

For the purpose of this tip we are going to use the uspGetEmployeeManagers storedprocedure in theAdventureWorks2008R2 database. You can exchange this with your stored procedureto walk through this tip in your own environment.

The whole idea with load testing is that you’re trying to mimic your own workloads. If you’re just trying to test a server with generic workloads, start with my post, “How to Check Performance on a New SQL Server.” Single-Query Load Tests. These tools let you write a query, and then run that query lots of times to stress load.

Step 1

Our first step is to test the following stored procedure with a test parameter.This is done in Management Studio using the query shown below.

Now that we know we have a working stored procedure and a valid parameter thatreturns data we can get started with theSQLStressTool.Once you downloaded and installed SQLQueryStress, fire the tool up and pastein the code that you used in Management Studio. Next, we need to click on the databasebutton to configure our database connection.

Server stress test software

Step 2 - Configure Database Connectivity

Now that we clicked on the database button we will want to connect to our AdventureWorksdatabase. In this example I am using a instance named 'r2' on my localhost. We willconnect with windows authentication and our default database will be AdventureWorks2008R2.Once this is done we will click on Test Connection and click on the 'OK' box inthe popup window. We'll see the Connection Succeeded message to verify that ourconnection settings are connect.

Step 3 - Clear Proc Cache

Before we execute our stored procedure using SQLQueryStress we are going to clearout the procedure cache so we can track the total executions of our stored procedure.This shouldn't be done on a production system as this can causesignificant performance problems. You would have to recompile all user objects toget them back into the procedure cache. We are doing this in this walkthrough tipto show you how we can count the total executions of the stored procedure.

NOTE: In SQL Server 2008 and up you can actually clear a specificplan from the buffer pool. In this example we are clearing out all plan's incaseyour using SQL 2005. Once again, this shouldn't be done on a productionsystem . Pleasesee BOL for a specific example on clearing out a single plan.

Step 4 - Execute Stored Procedure Using SQLQueryStress

Now that we have established our connection and specified a default databasewe are going to execute our stored procedure specified in step one. You can executethe stored procedure once by making sure the number of interations and number ofthreads both have the value of 'one.' We will go over these options in more detailsa little later in the tip. Once those values are set correctly you can execute thestored procedure once by clicking on the 'GO' button on the top right side of theSQLQueryStress tool.

Once the stored procedure execution completes you will see that statistics aregenerated to help give you valuable feedback towards your workload. You can seethe iterations that completed. In this case we only executed the stored procedureonce. You can also see valuable information for actual seconds, CPU, Logical readsand elapsed time as shown in the screen shot below.

Step 5 - View Total Executions via T-SQL

Now we will execute the following T-SQL script below, which will give us theexecution count for our stored procedure. We just cleared the procedure cache soyou will get an execution count of one as shown in the screen shot below.


Step 6 - Using SQLQueryStress to Add Additional Stress with Multiple Threads.

Now that we have gone over the basics of executing a stored procedure with SQLQueryStresswe will go over adding additional stress by changing the values for Number of Threadsand Number of Iterations. The number of Iterations means the query will be executedthis amount of times for each thread that is specified. The numbers of threads specifyhow many concurrent threads (SPIDS) will be used to execute the number of iterations.

Being that we changed the number of iterations to five and the number of threadsto five we will expect the total number of iterations completed to be twenty-five.The iterations completed is twenty-five because we used five threads and had fiveiterations that were executed for each thread. Below is a screen shot of thethe workload completed after we clicked on the 'GO' button with valuable averagestatistics during the workload.

If we rerun our T-SQL script from step 5, you will see that there is a totalof twenty-six executions for the uspGetEmployeeManagers stored procedure. This includesour initial execution from step 4 and the additional stress applied in step 6.

Step 7 - Use Random Values for Parameters with SQLQueryStress

Next, we are going to cover using a dataset to randomly provide parameters toour stored procedure. Currently we use a hard coded value of eight as the valuefor the BusinessEntityID parameter. Now, we are going to click on the 'ParameterSubstitution' button to use a T-SQL script to create a pool of values that willbe used during our stress testing of the uspGetEmployeeManagers stored procedure.

Once the parameter substitution window opens we will want to copy our T-SQL statementprovided below that will generate the BusinessEntityID values we would want to passinto our stored procedure.

Once you added the T-SQL script, you would want to select the column you wouldlike to map to the parameter used for your stored procedure.

Finally, the last part of this step is to drop the hard coded value assignmentfor the stored procedure. This way the parameter substitution will be used for theparameter value.

Step 8 - Wrap-up Results

To wrap up this tip, we have gone over controlling a workload to provide additionalstress and randomly substituting parameters to be used for your workload replay.If you capture aSQL traceand replay the workload you should see a similar output as the one provided in thescreen shot below. Looking at the screen shot below you will notice that each thread(SPID) has five iterations. Also, you will notice that the values for the businessentityidprovided are randomly selected from our block of code provided for the parametersubstitution.

Next Steps
  • If you need to do some load testing, start usingSQLQueryStresstool.
  • Review severaltips on SQL Profiler and trace
  • Revew tips on working withStored Procedures

Last Updated: 2012-07-18



About the author
John Sterrett is a DBA and Software Developer with expertise in data modeling, database design, administration and development.
View all my tips


  • ANY BROWSER

  • Minimize the TESTING CostS

  • No need to learn any scripting language. All options are GUI based.

    Unique product fully developed from testing perspective.

Loadtracer is an effective performance testing tool for web application


Load, stress, scalability, capacity, volume and endurance can be done effectively using LoadTracer.

It is the unique tool fully developed from testing perspective.Loadtracer is very effective Load Testing tool for web application at affordable price

Testing is done in three phases. One is recording the script using RECORDER, Simulating with hundreds of virtual clients using SIMULATOR and then analysing the result using ANALYZER.

During performance testing, all the performance measurements can be logged using performance counters effectively to determine the performance issues and bottlenecks in the web application. which is further used with analyzer to generate graphs, reports which can be exported into different formats.

The load tracer was developed in C language and hence the size of the tool is very less. It interacts directly to OS using various techniques to create virtual users as real users. parameterization is used to generate the data dynamically and distribute unique data for each and every virtual user. Sharp load is being generated on the server. This results in getting high accuracy in hits per second and sharp concurrency compared to other load testing tool available in the market.


RECORDER

Recorder acts as a proxy server between browser and the web server. It records all the interaction between browser and server to generate script file. The scripts are automatically generated. No need to write scripts.

SIMULATOR

Simulator uses script file to generate hundreds of virtual users to hit the server concurrently or sequentially. Different options are given to modify the scripts. Independent settings can be done for each script.

ANALYZER

Analyzer produces many types of graph and reports for analysis purpose. All the performance logs collected through LTMonitor are analysed through Analyzer. Many types of report and graphs can be generated in HTML and CSV format

LT MONITOR

LT monitor provides variety of performance counters to monitor. Necessary performance measurements can be logged to determine the performance issues and bottlenecks in the web application.

List of features are given aliging with the phase of performance / load / stress testing


Reduced Testing Time

Testers can use Load Tracer efficiently from first day itself.

High Quality

Achieve High Quality load and performance testing at real time accuracy.

Low Cost

Get high quality Performance testing tool at affordable price

ZERO SCRIPTING

All options are gui based. No need to learn any scripting language.

Lightweight

Load testing tool itself should not be a burden on OS affecting performance

Browser independent

LOADTRACER is a proxy based , so it is browser independent

REQUIREMENT ANALYSIS


Requirement Understanding

Identify the test environment

Project Initiation

Test Initiation Checklist

Determining test scope

TEST PLANNING


Define Test goals

Performance Criteria

Testing tool selection

Identify test scope

Project Acceptance Criteria

TEST DESIGNING


Test scenario design

Test script creation

Test Data creation

Metric Identifcation

Design Checklist

ENVIRONMENT SETUP


H/W and S/W environment

Loadtracer tool setup

Resource setup

Lt Monitor Setup

Test environment readiness

TEST EXECUTION


Test Script Execution

Test Validation

Virtual user simulation

Monitor the test

Performance data collection

ANALYSIS& REPORTING


Analyze the Data

Find Performance issues

Generate analytical report

Performance Tuning

Test Report Generation


Download the Free Version of Loadtracer


Get the most effective Performance and Load testing tool free of cost.



Recorder acts as a proxy server between browser and the web server. It records all the interaction between browser and server to generate script file.

It records all the request and response from the client and server and generates script.

The script is corrected and parameterised as per the requirement using various options given in recorder. Many types of functions are available for parameterization, Variable Management, and Response Validation.

During this recording session itself, the RECORDER generates a detailed report for different parameters like request time, response time, number of bytes sent and number of bytes received.

In Many web application http errors are customized, so it is hard to find in runtime whether a http exception has occurred or not, using response validation with different methods we can determine whether the response is valid or not.

In SIMULATOR, the recorded script in RECORDER is used for simulating the virtual client. The number of clients and the other parameters like think time, iteration, proxy settings, cookie usage, etc., can be specified in SIMULATOR setting based on the requirement.

By executing the script, SIMULATOR hits the server with the specified number of virtual users based on the requirements.

Each virtual users will run on a separate thread and carrying its own data and other parameter simulating real user environment.

File Server Stress Test Tool Kit

Using vuser scheduler, load can be released in ramp up and ramp down manner for specified amount of time to simulate realtime load.

The result of all virtual users are stored in separate file.

Microsoft Stress Test

These raw data is sent to ANALYZER. SIMULATOR also sends its data to Analyzer

The ANALYZER will analyze the virtual users data and generate a detailed report.

There are many type of graph for example running virtual user or active virtual users, hit per sec, response per sec, bytes send per sec, bytes receive per sec, number of text files downloaded per sec, number of binary files downloaded per sec,.

Two important features provided by Analyzer is Detail Information By Virtual User and Detail Information By Files. These features provide very minute details like time taken to complete a request, time taken to complete a response, number of bytes send, number of bytes received, content type of response, HTTP status codes.

The report can be generated in many formats like tabular, graphical.Results can be published as HTML pages or excel pages. All the reports are stored in html pages. These reports can be exported HTML format.


Download the Free Version of LoadTracer 4.0

Get the most effective Performance and Load testing tool for free.

To get fully functional unlimited virtual users please register.
Registration Code will be sent to your mail


To download fill the form below

Enter a valid e-mail id.

The free registration code will be sent to this id.

Please check your SPAM folder if you don't see the mail in your inbox.

Please, re-check the entered e-mail id before submitting the form!

System Requirements

Software Requirements


Windows: 2000/XP/2003/7/8/10

Browser:Explorer 6/0 or higher, or Firefox or Chrome

Any other Browser: configure proxy manually.

Fully functional unlimited virtual users.


Hardware Minimum Requirements


At least 1 Ghz of CPU speed and 1 GB RAM

Recommended more than 1.5 Ghz.

RAM - Min 4 GB

Using loadtracer, TRACE offers wide range of testing services also. Key testing to know about the exact behaviour of your web application

Performance testing is not just to determine response time and throughput but it is also to determine the various performance attributes like bottlenecks ( memory, disk, process, processor, cache, network, etc.) and resources leakages is present in normal scenario.

Loadtesting is to determine the risk factors associated with increasing the load on the application. And to determine the performance behavior of the system under load. And it is also evaluate the compliance of a system or component with specified load requirements.

Stress testing is not just to determine stress point (when the system goes down or crashes because of increase in load) but also to determine the factors affecting the stress point. It also to determine the performance behavior of the system causing stress point.


Scalability testing is to determine system behavior by increasing the load with a various scaling ratio. For every scaling point all the performance attributes have to be determined. Also the factors affecting the application scaling capacity have to be determined.

Capacity planning is to determine the optimum capacity needed to address the IT infrastructure needed for production requirements. It is all about mapping the correnct hardware, software and network requirements to determine the capacity bottlenecks.

Volume testing is to determine the system behavior with increase in volume of data. Large volume of data has to be applied to the server in scalable manner over a period of time. The volume factors affecting the application’s performance have to be identified.

LoadTracer has three modules RECORDER, SIMULATOR AND ANALYZER

  • LOADTRACER - RECORDER : Records the scripts
  • LOADTRACER - SIMULATOR : Simulates virtual users based on recorded scripts
  • LOADTRACER - ANALYZER : Review and export result output from simulator.
FOR NOW LOADTRACER 4.0 IS COMPLETELY FREE

Make sure to register after installing LoadTracer to avail this offer

Technical Support

For technical support

Online Help

Get all the latest product documentation.

Community Support

Welcome to the loadtracer community

DOWNLOAD CENTER

Download updated version of loadtracer and plugins.


Technical Papers

technical paper icludes different research articles, case studies, test reports and best practices etc.,

Testing Services

Trace offers wide range of Testing Services ranging from funtional , performance testing with highest expertise level

Training

On need basis, Trace gives special training on loadtracer for its customers.

CUSTOMER LOGIN

To open support ticket, login to our online trace manage system


Got a question about our products? Are you interested in partnering with us? Have some suggestion or feedbacks? Get in touch with us.

find us on