HTTP / Web Server Load Testing

Overview

Load Multiplier simulates Web server, Content server. Also it simulates HTTP endpoints for both functional and load testing for servers, products based on HTTP / SOAP / REST. You can simulate millions of HTTP / Web clients using Load Multiplier and can load system under test at any given TPS (transactions per second). You can access normal URLs, restricted URLS, login, logout, try different methods (GET, POST, PUT, DELETE etc). You can send / receive message body using content-length or chunk mechanism. On receiving HTTP data, compressed with gzip, deflate, brotli etc are decompressed and data is extracted as per user configuration.

Features

You can test any kind of HTTP / HTTPS call flows. You can use Recorder to record the HTTP message flows between client and server. Then configure the recorded messages in Load Multiplier tool to simulate desired message flow. Load Multiplier supports any / all kinds of HTTP methods and data formats. You can send receive any text / binary data as HTTP message body. Load Multiplier supports all major features listed below.

  • Normal URL access - You can access any normal links (accessible by guest users). This helps to access random links (authentication / login not required) and load the server / application. You can use any method (like GET, POST, PUT, HEAD, DELETE etc), body (plain, gzip, deflate, brotli) to load server as per your requirement.

  • Login - You can login to your site by providing proper username and password. The username and password if those are in a particular pattern, you can feed the patter (prefix, start id, suffix) and let Load Multiplier guess the entire series of username / password. If the username and password are not in a regular pattern, feed these data by a CSV file.

  • Restricted URL access - After login done, you can access any restricted links if you have sufficient permission for given restricted link.

  • Logout - You can log out by accessing appropriate link.

  • Send a wrong header - You can add a wrong / malformed header to outgoing message using easy syntax. For details please refer user guide.

  • Send a wrong body - You can add a wrong / malformed body to outgoing message using template mechanism. For details please refer user guide.

  • Load at given TPS - Configure TPS / RPS (rates per second) as you need. As part of result, CRPS (configured RPS), TRPS (triggered RPS), RRPS (realized RPS) are shown to user.

  • Load at burst mode - You can load at burst mode. In this case, transactions are not controlled at a RPS, rather transactions are initiated in a random manner as it happens in a real field scenario.
Result / Statistics

As the HTTP / Web load testing goes on, every 15 second various statistical data are captured and stored into database. Also test case execution result like pass, fail, timeout etc are also recorded every regular interval of time (typically 30 seconds). These pass, fail and timeout data you can see in report summary table as shown below.

HTTP Report Summary

Various data/information those are captured listed below.

  • HTTP tx bytes
  • HTTP rx bytes
  • HTTP transactions
  • HTTP connect time
  • HTTP dns time
  • HTTP total time taken
    etc

Using these data and time you can configure for various graphs. A typical graph sample is shown below.

HTTP Sample Graph

HTTP Sample Graph

Additionally if you have complex scenario that involves media (RTP/RTCP, Audio / Video codecs), DTLS, ICE, data etc, you can configure corresponding graph entities to get overall picture for entire test execution period.

RFC / Standard Compliance

Load Multiplier supports all major standards / specifications related to HTTP / Web listed below.

  • RFC 1945 - Hypertext Transfer Protocol HTTP/1.0
  • RFC 2616 - Hypertext Transfer Protocol HTTP/1.1
  • RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication
  • RFC 2817 - Upgrading to TLS Within HTTP/1.1
  • RFC 6266 - Use of the Content-Disposition Header Field in HTTP
  • RFC 7230 - HTTP/1.1, Message Syntax and Routing
  • RFC 7231 - HTTP/1.1, Semantics and Content
  • RFC 7232 - HTTP/1.1, Conditional Requests
  • RFC 7233 - HTTP/1.1, Range Requests
  • RFC 7234 - HTTP/1.1, Caching
  • RFC 7235 - HTTP/1.1, Authentication
  • RFC 7238 - The HTTP Status Code 308 (Permanent Redirect)
Conclusion

Any HTTP / HTTPS message flow you can simulate using Load Multiplier. You can send / receive body, decompress en-compressed data, parse and extract information for future use. You can send receive both text as well as binary data. As a user, you must know the HTTP / HTTPS call flows to configure Load Multiplier. Do not worry, you get Load Multiplier recorder to record both HTTP / HTTPS transactions. Use the recorded message content to configure Load Multiplier tool.

Looks interesting!
Contact us at info@loadmultiplier.com for further details.