4 ms·
I assume someone at Google reviews and approves each one of these parameters that gets added, and each one of them has a good reason for existing (even if we do
by dsl 14y ago
I assume someone at Google reviews and approves each one of these parameters that gets added, and each one of them has a good reason for existing (even if we don't know what it is or believe its a good reason).
As a thought experiment I figured if I worked at Google how would I quantify the expense of a query parameter. Users don't really know or care what URLs look like anymore as long as the page is fast, so apart from measuring the gallons of tears generated on Hacker News, I guess resource usage would be the first logical thing to look at right?
Assuming every search is exactly like the one provided in the linked article, and using some public numbers from 2011 on searches/day, these are the top 5 parameters in terms of bandwidth used just transmitting the key and value to the server.
gs_l 42.3 Mbps
bav 11.7 Mbps
bvm 9.1 Mbps
fp 8.7 Mbps
sclient 6.1 Mbps
For just the top 5 thats almost 78 Mb of inbound data per second. Being sent over end users pipes (which are often limited by upload), hitting my transit and peering links, passing through my routers, hitting my front end load balancers, being turned into GoogleInternalProtocolX and fanned out to dozens of servers inside the datacenter over switches and internal routers, and being logged on durable storage for 18 months (assuming they dump this extra data when they strip personal information from the search record). Wow.
A general rule of thumb would be for every 20 bytes you add to URLs by way of keys or values, you've increased the overhead of almost every part of the Google infrastructure by 1 MB per second. (Note I did switch from bits to bytes in the final conversion, and this number is sourced from shaky data to start with)
- lelandbatey 14y agoMaybe I missed it, but where are you getting this data from? It looks quite interesting, and I'd love to see more. Would you be willing/able to share?
- dsl 14y agoI googled for "google searches per day", kept clicking around until I found a few sites that agreed on a number for a recent year. Counted the number of bytes for each URL parameter, then just did a bunch of back of the envelope math. None of it is scientific or probably even close to the actual numbers. Just a thought experiment I did that I thought might be interesting enough for a comment.
- Cogito 14y agoYou were correct, but maybe add some more details and links to your sources?
- mkjones 14y agoI suspect they care a lot more about the effect these additional upstream bytes have on response time than their own network ingress. Especially for a site that cares so much about performance, an extra handful of bytes on a slow connection can noticeably hurt latency. Lots of small parameters can really add up.