We all accept the fact that we need to improve the performance of our website and any improvement over HTTP protocol can provide a great opportunity to improve the website load time significantly. It can be termed as one of the great ways to beat our competition, which will eventually help improve the user experience on our website.  Before we deep dive on HTTP/2, and its benefits, let’s understand what a protocol is by definition and why it’s important.

 

What is a Protocol?

A protocol is a set of rules which governs the data communication between clients (web browsers) and servers. Now using this same protocol we previously had HTTP 1.0 and now we have its improved version called HTTP 2.0. Additionally, there is HTTP/3, but currently in “draft” mode. According to W3Techs, only 6.5 percent of websites use HTTP/3.  Chrome and Firefox currently support HTTP/3, but it is turned off by default.  HTTP/3 will help to address some issues with HTTP/2, like head-of-line blocking, which causes all transactions to stall if a packet is lost or reordered, even if that transaction wasn’t impacted by the lost packet.

 

What is HTTP/2?

HTTP/2 is the latest protocol for transporting data which has drastically speed up the web. HTTP/2 will make our websites faster, simpler and more robust to heavy traffic. The primary goal of HTTP/2 is to reduce latency by enabling multiplexing on request and response, minimizing the protocol overheads via efficient compression of HTTP header fields and support for request prioritization.

And just a separate note: HTTP/2 has not changed anything with HTTP semantics, by this we mean HTTP methods, status code, URIs and header fields remain as it was before, which helps all running applications with no impact.

 

Where Did HTTP/2 Come From?

HTTP/2 was based largely on Google’s own protocol SPDY. The protocol had many of the same features found in HTTP/2 and managed to improve data transmission while keeping backwards compatibility with HTTP/1. SPDY had already proven many of the concepts used in HTTP/2.

What’s new in HTTP/2

  • Binary instead of Textual
  • Server Push
  • One connection instead of multiple
  • Prioritization of multiplexed streams
  • Header specific compression
  • Fully multiplexed requests

 

Key Benefits of HTTP/2

  • Multiplexing.  Multiple Request per Connection: Multiplexing in HTTP/2 allows the client to load multiple requests on the same connection, allowing a faster, concurrent load time for all the web elements.
  • HPack Compression.  HTTP/2 transmits server requests and responses in binary code, which keeps the client to interpret the sent information. This improves both load time and general performance.
  • Prioritization.  Prioritization allows developers to allocate dependency levels for their code, they get feasibility to load essential resources first.
  • Backed by Google.  HTTP/2 has followed the same principles of SPDY.
  • HTTP/2 Server Push.  This capability allows the server to send additional cached information that isn’t requested but anticipated in the next request.

 

HTTP 2.0 Load Test with LoadView

We will be using Loadview, which provides support to stress test HTTP 2.0 based websites. It can help to test websites, web applications, and APIs with thousands of concurrent connections in real browsers from a fully managed cloud.

 

LoadView Performance test Setup

To scale and load tests for your website we would need to understand beforehand what scale or user count we are expecting on our website to work seamlessly. Once we have the data from the analytics tool, we can start a step by step load test for our website with the desired concurrent users.

Let’s look forward for steps to run load test HTTP 2.0 based website:

  1. Open LoadView homepage. We may need to click on Create New Load Test.

Create New Load Test

 

  1. You will see multiple types of tests available via LoadView, such as web applications, websites and APIs. For our use case, select the Web Page option to run load tests for an HTTP 2.0 website.

Web Page Test

 

  1. A new window will pop up where we need to add our website host name and also the time we need load test to run. Once entered we need to click the Create Device button.

Create New Load Test Device

 

  1. Once we have successfully created a device, we would see the Test Scenario screen, where we can set Load type which would differ based on the goal of our test.
    • Load Based Curve.  This is to execute load tests with a known number of users and raise traffic after set warm up time.
    • Goal Based Curve.  This test setup is used when we are looking for desired transactions per second for specific API and want to scale to the desired rate slowly.
    • Dynamic based Curve.  This set provides you to choose dynamic values in Number of users, maximum users and test duration.

Test Scenario Screen

 

  1. Based on the type of desired load test setup, we can click Continue, which will start execution of test with number of mentioned users and test duration.
  2. After successful completion of load test run, we can see insights how the system under test behaved like response time graph, number of concurrent users graph, error count sessions.
Average number of users average response time

Parallel Average number of users with Average Response time graph.

 

HTTP2 average response

 

HTTP2 execution plan

Conclusion:  HTTP 2.0 Load Testing

HTTP/2 will make our websites faster, simpler, and more robust to heavy traffic. The primary goal of HTTP/2 is to reduce latency by enabling multiplexing on request and response, minimizing the protocol overheads via header field compression, and support for request prioritization. Not only that, sites that utilize HTTP/2 are will see higher search rankings as Google uses them in their ranking factors.

Testing the performance of your website can sometimes be an arduous process, but it’s critical to understand how you site responds to increases in traffic. However, using a solution like LoadView to test and validate the performance of your HTTP/2 website can make the whole process easy and effortless. With support for the latest protocols and technologies, you can ensure you users get the fast and consistent experience they deserve.

If you would like to run performance tests for your HTTP/2 websites tests in LoadView, you can sign up for a free trial to get $20 in testing credits.  Get started testing now!

We also offer private one-on-one LoadView demos with one of our performance engineers. They can guide you through the setup, scripting, and testing process.  Get a comprehensive overview of the LoadView platform, its features, and capabilities.