-
-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Making the HTTP2 query cheaper #110
Comments
It should be ok to rely on the |
Proposed a fix for incremental runs in #115 I still think we should consider patching the old data, and then separately also correcting the historic data. The incorrect data is absolutely meaningless so pointless to keep around. And I dislike having such an expensive query exposed on the website incase anyone attempts to run it for their own reasons. |
@tunetheweb are you satisfied with the current monthly cost of the charts? |
Can we clean up |
We have a HTTP/2 requests graph which does a look up on the
$_protocol
field in therequests.payload
column. This currently costs 211TB and costs an estimated $1,058 (yes - one thousand bucks!!!) and counting, to run and is re-run every month. Which is quite frankly ridiculous. It also takes forever to run and sometimes times out.I wanted to add an HTTP/3 graph since it's getting out there but can't justify doubling that cost! While our generous benefactor may be able to absorb that, others can't, and I think we should be setting a better examples here.
If we use the
summary_requests
table and use thereqHttpVersion
, orrespHttpVersion
(or both!) then the cost plummets to 363GB and or an estimated $1.77!!! And the data looks pretty similar (not exactly the same asrequests
andsummary_requests
look to have slight differences in number of rows, but close enough).However, there is an issue as these fields had bad data for a long time (relevant WPT issue and was only fixed from October 2020. I would prefer to track the growth longer than that and ideally back to 2015 when HTTP/2 was launched.
So we've a few choices:
requests
tosummary_requests
and update the badreqHttpVersion
, orrespHttpVersion
values to the$._protocol
field but can't figure out how to do that.ori:
,us:
,od:
,me:
or: /
values are effectively HTTP/2. This isn't always the case and there are a small number of HTTP/1.1 connections which give those values, but it's close enough and a lot easier to run this clean up than option 1 (unless there is a way to join these two tables I'm not seeing?).protocol
column tosummary_requests table
and backfill all the old values. Seems like quite an effort.Thoughts?
Here's the comparison of what that comes back with compared to the current production site:
The text was updated successfully, but these errors were encountered: