Throng 1 11 – Stress Test Your Web Server

  1. Throng 1 11 – Stress Test Your Web Server Hosting
  2. Throng 1 11 – Stress Test Your Web Server Settings
  3. Throng 1 11 – Stress Test Your Web Server Ip
  4. Throng 1 11 – Stress Test Your Web Server Settings
  5. Stress Test Pc

Jul 10, 2010 Stress testing refers to tests that determine the robustness of software by testing beyond the limits of normal operation”. Due to budget constraints, my clients usually ask for some free tools to load/stress test their application, before going live. Here are some free tools to Load/Stress Test web applications. Stress testing refers to tests that determine the robustness of software by testing beyond the limits of normal operation”. Due to budget constraints, my clients usually ask for some free tools to load/stress test their application, before going live. Here are some free tools to Load/Stress Test web applications. If the Web server job is bound on a single thread then yes you will have waits on the receiving end, but you've acheived your purpose. You can view all of this using wireshark to determine turn-around times for each socket. You will also be able to see our count the number of independent Syn requests going outbound to server. Stress Tools to Test Your Web ServerRSS. 1 reply Last post Nov 04, 2004 09:54 PM by Qbernard ‹ Previous Thread Next Thread › Print Share.

With ab

Load testing an application is more than a task to prepare for the go-live: it has to cover all phases of the lifecycle. It allows tracing the behavior of the application over time, allowing identifying when performance degeneration happened. It’s part of a toolset to avoid “yesterday it worked fine …”.

From the many load testing tools the ones for testing the end user perspective are the ones most useful. For applications that have a web interface this means to test the load from the browser perspective. This way, not only a specific part of the application like the DB is tested: all components involved to generate the HTML output are tested: the web server, application server, network connection, backend applications, DB, and so on. There are several load testing tools available, some are endorsed by SAP and are made available by SAP partners. They have one thing in common (beside the price): they are not easy to use. Because of this they normally get added at the quality test phase, and that is already too late. I will focus here on tools that can be freely downloaded, installed, are simply to set up and use and have a community so finding solutions on the internet is not a big deal.

The Apache web server comes with a simple tool: ab (http://httpd.apache.org/docs/2.0/programs/ab.html). Basically, that tool does everything you need to test the performance of a web page. You can use ab to upload a file, set cookies to find out HTTP server limitations (like 413), emulate authentication, and so on. The intended use case of ab is to test the Apache web server and the impact of configuration parameters on its performance, but as it simulates quite well the load of several browsers and a flexible number of requests, it can be used to test every web page. You can try out parameter changes and see how they impact the performance, how your code handles several requests, find out the impact of the network, and many more.

To run a test that includes 1000 requests, distributed over 10 threads to a URL, the syntax is:

Output:

Ab gives already some important information like requests/sec, number of failed requests and transfer rate. It’s an easy to use tool but low level. Running ab against a local installation of SAP Portal:

This example makes also clear that one important aspect of load testing is the network connection. Instead of making the requests over Wifi to the URL of the 1st example somewhere in the internet and thus slowing down the number of requests, here the requests are done locally and I get an impressive 575 requests per seconds. The key takeaway here is: do your load testing not only at one location, do it at several locations inside your network to rule out or find network related bottlenecks: start near your server for optimizing the performance of your application and then move slowly away. Of course, you should define for each of the locations a threshold.

To test your single application, you need

  1. a direct link
  2. User authentication (if implemented)

The direct link is easy to get. The user authentication with ab is tricky, but the –C parameter does the trick. This will not give real world results as ab will do the tests as the same user, but it gives an overview of the response time of the application. The application is reading some data from the request object and some KM properties.

I ran the test several time and what you cannot see here is that the number of request went up from 49 to 92 and then stayed there. That’s an easy application that only reads some request parameters. Where serving a simple html page came back with 575 hits/sec, the application running inside the portal is not – as expected – as fast.

Now I can add and remove some code to find out if the application runs faster or slower and this way find out where the performance bottleneck is. That is the vantage of using a simple tool that the developer can run on his local machine: instead of focusing on a working code that get’s later transported to QA – and we all know that is happening only when the go-live date is very, very near – and then discover that the performance is bad, the developer can run a simple performance test while still generating the code. Instead of later changing working, but slow code, the developer can create working and fast code.

Throng 1 11 – Stress Test Your Web Server Hosting

The purpose of web server stress testing is to find the target application’s crash point.

The crash point is not always an error message or access violation. It can be a perceptible slowdown in the request processing.

Stress testing can give answers to the following typical questions:

  • What load can crash the server application?

  • What parameters do we monitor to make sure that the server remains available?

  • How do I fail over my web servers and databases?

Creating a Web Server Stress Test

Throng 1 11 – Stress Test Your Web Server
  1. Record one or more user scenarios.

  2. (Optional) Modify the recorded traffic.

  3. Create a load test that will simulate several virtual users.

  4. Assigns scenarios to the users (you can assign the same scenario to several users orassign an individual scenario to each user).

  5. Configure the created test:

    • Specify the browser, connection speed and start delay for each user.

    • Specify the workstation for each user.

    • (Optional). Specify service level agreement (SLA) criteria to estimate the performance of the tested web application.

  6. Run the test.

  7. Analyze the load test results and check whether the application “crashes”.

    If the test results contain warnings and errors, this may mean that you have found the crash point.

    Once again, a crash is not always an error, this may be unacceptable performance.

  8. If the application did not crash, increase the number of virtual users and perform the test again.

Analyzing Results

During the test run, you can monitor the server parameters on the Runtime > Graphs page in real time. The parameters of primary interest in stress tests are as follows:

  • Virtual users

  • Passed requests

  • Response transfer speed

  • Errors

  • Warnings

When the server crashes, you may find this out by response transfer speed decrease, or the number of passed requests. In addition, the server may report errors.

As you can see in the image above, the simulation fails when trying to simulate 300 virtual users.

Let's suppose that your application works fine with 10 virtual users, but crashes when working with 300 virtual users. This means that the application crashes at a point between 10 virtual users and 300 virtual users. To get closer to that point, split the user interval into two parts: 10…145 and 145…300, and run the test with 145 virtual users.

If the test with 145 virtual users was not successful, you can then cut the first interval in half and run the test using 77 or 78 virtual users.

If the test with 145 users passes, cut the second interval in half and run the test using 222 or 223 virtual users.

Continue splitting the interval until you find the crash point.

Throng 1 11 – Stress Test Your Web Server Settings

Click the image to enlarge it.

Throng 1 11 – Stress Test Your Web Server Ip

Here, we can see that the crash point for the given application occurs at simulation of 220 virtual users.

Reviewing detailed results for the crash point run may clue you up on the server’s instability.

Throng 1 11 – Stress Test Your Web Server Settings

See Also

Stress Test Pc

Typical Use Cases
Load Testing - Basic Concepts
About Test Results
Creating and Configuring Load Tests