Disclaimer: There is no "standard" website! The real world involves countless variations to websites and different client to server configuration. Theoretical values are not helpful and there is nothing consistent about internet speeds. We aimed to start with a baseline and we plan to improve this research as an ongoing project
This is the tl;dr of what we found about trying to optimize your HTTP/2 site. Our reasoning for all of these are found below.
We obtained all of our data in a 3 part system which can all be found on GitHub. This was designed to allow anyone to easily in 3 steps generate their own data as we want people to help confirm our results.
Step 1 - Generate Testing Websites
We have created a simple bash script that will go and generate various websites along different parameters. Since we care about the "transferring" of data using HTTP/2 only, we find it valid to fill a website with random data as the page's loading is independent of how files are sent across the network. The script is incredibly simple to use and more detail can be found in the website generator folder
Step 2 - Gather HTTP/2 Request Data
After various methods we found that the best way to gather data is to automated the HAR file from the browsers. This decision is made due to lack of support of headless browsers (currently) to collect the data that the network devtools offer. For Chrome we ended up using the Chrome Debugging Protocol and the NodeJS API for it and ended up grabbing the HAR file to get the data from our request. Our Headless HAR Parser takes a database and the list of sites you want to run against (one is generated automatically in the website generator). Each site it grabs and gets its HAR data where it then parses it and enters all the desired data to the database. This is designed to be run as often as you want to gather all the data needed
Step 3 - Auto Generate Results and Charts from Data
Once you have the data to make it super easy to analyze it we created a result generator that will take data from the database and create a series of Google Charts. The scripts creates each chart as its own html page which can be used to link for reference. You can also easily take the inner data section and combine as please
Here is an example of what it looks like when we have it in the Same Size Structure.
Our BIGGEST issue is both the time and resources to test these optimization. We have given it "the ol college try" and seriously wanted to find some satisfying results. But what we really need is the open source community to help confirm our test. We really tried to design our testing so that anyone with a server and client machine can "easily" get the testing going without having to spend the many hours we had to get to the point we are even at.
This was a simple task that turned into a lot of wasted hours and for anyone who might care here are things to avoid for future attempts at a similar idea.